Apakah ada cara mudah untuk mendapatkan nama tag?
Misalnya, jika saya diberikan $('a')
fungsi, saya ingin mendapatkannya 'a'
.
Apakah ada cara mudah untuk mendapatkan nama tag?
Misalnya, jika saya diberikan $('a')
fungsi, saya ingin mendapatkannya 'a'
.
Jawaban:
Anda bisa menelepon .prop("tagName")
. Contoh:
jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
Jika menulis .prop("tagName")
itu membosankan, Anda dapat membuat fungsi khusus seperti:
jQuery.fn.tagName = function() {
return this.prop("tagName");
};
Contoh:
jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"
Perhatikan bahwa nama tag, secara konvensional, dikembalikan dengan huruf besar . Jika Anda ingin nama tag yang dikembalikan semuanya huruf kecil, Anda dapat mengedit fungsi khusus seperti:
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
Contoh:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
.prop
.
toLowerCase()
atau toUpperCase()
mungkin membantu saat membandingkan prop('tagName')
hasil dengan nama tag. if($("my_selector").prop("tagName").toLowerCase() == 'div')
atauif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Anda dapat menggunakan nodeName
properti DOM :
$(...)[0].nodeName
$(this).prop('tagname')
. this.nodeName seringkali lebih efisien. +1
Pada jQuery 1.6 Anda sekarang harus memanggil prop:
$target.prop("tagName")
jQuery 1.6+
jQuery('selector').prop("tagName").toLowerCase()
Versi yang lebih lama
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase () tidak wajib.
new String
?
Anda TIDAK boleh menggunakan jQuery('selector').attr("tagName").toLowerCase()
, karena itu hanya bekerja di versi Jquery yang lebih lama.
Anda dapat menggunakan $('selector').prop("tagName").toLowerCase()
jika Anda yakin bahwa Anda menggunakan versi jQuery itu> = versi 1.6.
Anda mungkin berpikir bahwa SEMUA ORANG menggunakan jQuery 1.10+ atau sesuatu sekarang (Januari 2016), tetapi sayangnya itu tidak benar-benar terjadi. Misalnya, banyak orang saat ini masih menggunakan Drupal 7, dan setiap rilis resmi Drupal 7 hingga hari ini termasuk jQuery 1.4.4 secara default.
Jadi, jika tidak tahu pasti apakah proyek Anda akan menggunakan jQuery 1.6+, pertimbangkan untuk menggunakan salah satu opsi yang berfungsi untuk SEMUA versi jQuery:
Pilihan 1 :
jQuery('selector')[0].tagName.toLowerCase()
pilihan 2
jQuery('selector')[0].nodeName.toLowerCase()