มีวิธีง่ายๆในการรับชื่อแท็กหรือไม่
ตัวอย่างเช่นถ้าฉันได้รับในการทำงานผมต้องการที่จะได้รับ$('a')
'a'
มีวิธีง่ายๆในการรับชื่อแท็กหรือไม่
ตัวอย่างเช่นถ้าฉันได้รับในการทำงานผมต้องการที่จะได้รับ$('a')
'a'
คำตอบ:
.prop("tagName")
คุณสามารถโทรหา ตัวอย่าง:
jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
หากการเขียนออกมา.prop("tagName")
น่าเบื่อคุณสามารถสร้างฟังก์ชั่นที่กำหนดเองได้ดังนี้
jQuery.fn.tagName = function() {
return this.prop("tagName");
};
ตัวอย่าง:
jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"
โปรดทราบว่าชื่อแท็กจะตามแบบแผนกลับทุน หากคุณต้องการให้ชื่อแท็กที่ส่งคืนเป็นตัวพิมพ์เล็กทั้งหมดคุณสามารถแก้ไขฟังก์ชันที่กำหนดเองได้ดังนี้:
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
ตัวอย่าง:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
.prop
ฐานะของ jQuery 1.6 สิ่งนี้ควรเป็น
toLowerCase()
หรือtoUpperCase()
อาจมีประโยชน์เมื่อเปรียบเทียบprop('tagName')
ผลลัพธ์กับชื่อแท็ก if($("my_selector").prop("tagName").toLowerCase() == 'div')
หรือif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
คุณสามารถใช้nodeName
คุณสมบัติของ DOM :
$(...)[0].nodeName
$(this).prop('tagname')
ที่จะได้รับทรัพย์สินที่มีอยู่แล้วเช่น this.nodeName มักจะมีประสิทธิภาพมากขึ้น +1
jQuery 1.6+
jQuery('selector').prop("tagName").toLowerCase()
รุ่นเก่ากว่า
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase () ไม่บังคับ
new String
?
นี่เป็นอีกวิธีหนึ่ง:
$('selector')[0].tagName
คุณไม่ควรใช้jQuery('selector').attr("tagName").toLowerCase()
เพราะใช้งานได้กับ Jquery รุ่นเก่าเท่านั้น
คุณสามารถใช้$('selector').prop("tagName").toLowerCase()
หากคุณมั่นใจว่าคุณกำลังใช้ jQuery รุ่นนั้น> = เวอร์ชัน 1.6
คุณอาจคิดว่าทุกคนใช้ jQuery 1.10+ หรืออะไรบางอย่างอยู่ในขณะนี้ (มกราคม 2016) แต่น่าเสียดายที่ไม่ใช่ในกรณีนี้ ตัวอย่างเช่นคนจำนวนมากในปัจจุบันยังคงใช้ Drupal 7 และทุกรุ่นอย่างเป็นทางการของ Drupal 7 จนถึงทุกวันนี้รวม jQuery 1.4.4 เป็นค่าเริ่มต้น
ดังนั้นหากไม่ทราบแน่ชัดว่าโครงการของคุณจะใช้ jQuery 1.6+ หรือไม่ให้ลองใช้หนึ่งในตัวเลือกที่ใช้ได้กับ jQuery ทุกเวอร์ชัน:
ตัวเลือกที่ 1 :
jQuery('selector')[0].tagName.toLowerCase()
ตัวเลือก 2
jQuery('selector')[0].nodeName.toLowerCase()
nodeName จะให้ชื่อแท็กเป็นตัวพิมพ์ใหญ่ในขณะที่ localName จะให้ตัวพิมพ์เล็ก
$("yourelement")[0].localName
จะให้: yourelement แทน YOURELEMENT