Câu trả lời:
Bạn có thể gọi .prop("tagName")
. Ví dụ:
jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
Nếu viết ra .prop("tagName")
là tẻ nhạt, bạn có thể tạo một chức năng tùy chỉnh như vậy:
jQuery.fn.tagName = function() {
return this.prop("tagName");
};
Ví dụ:
jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"
Lưu ý rằng tên thẻ, theo quy ước, được trả lại VỐN . Nếu bạn muốn tên thẻ được trả về là tất cả chữ thường, bạn có thể chỉnh sửa chức năng tùy chỉnh như vậy:
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
Ví dụ:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
.prop
.
toLowerCase()
hoặc toUpperCase()
có thể hữu ích khi so sánh prop('tagName')
kết quả với tên thẻ. if($("my_selector").prop("tagName").toLowerCase() == 'div')
hoặcif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Bạn có thể sử dụng của DOM nodeName
bất động sản :
$(...)[0].nodeName
$(this).prop('tagname')
. this .nodeName thường hiệu quả hơn. +1
jQuery 1.6+
jQuery('selector').prop("tagName").toLowerCase()
Các phiên bản cũ hơn
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase () không bắt buộc.
new String
vậy
Bạn KHÔNG nên sử dụng jQuery('selector').attr("tagName").toLowerCase()
, vì nó chỉ hoạt động trong các phiên bản cũ hơn của Jquery.
Bạn có thể sử dụng $('selector').prop("tagName").toLowerCase()
nếu bạn chắc chắn rằng bạn đang sử dụng phiên bản jQuery thats> = phiên bản 1.6.
Bạn có thể nghĩ rằng MỌI NGƯỜI đang sử dụng jQuery 1.10+ hoặc một cái gì đó vào lúc này (tháng 1 năm 2016), nhưng thật không may, điều đó thực sự không đúng. Ví dụ, nhiều người ngày nay vẫn đang sử dụng Drupal 7 và mọi bản phát hành chính thức của Drupal 7 cho đến ngày nay đều bao gồm jQuery 1.4.4 theo mặc định.
Vì vậy, nếu không biết chắc chắn dự án của bạn sẽ sử dụng jQuery 1.6+ hay không, hãy xem xét sử dụng một trong các tùy chọn hoạt động cho TẤT CẢ các phiên bản jQuery:
Lựa chọn 1 :
jQuery('selector')[0].tagName.toLowerCase()
Lựa chọn 2
jQuery('selector')[0].nodeName.toLowerCase()