Etiket adı almanın kolay bir yolu var mı?
Örneğin, eğer $('a')
bir fonksiyona verildiysem , almak istiyorum 'a'
.
Etiket adı almanın kolay bir yolu var mı?
Örneğin, eğer $('a')
bir fonksiyona verildiysem , almak istiyorum 'a'
.
Yanıtlar:
Arayabilirsiniz .prop("tagName")
. Örnekler:
jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
Dışarı yazma Eğer .prop("tagName")
sıkıcı, bunu böyle özel bir işlev oluşturabilirsiniz:
jQuery.fn.tagName = function() {
return this.prop("tagName");
};
Örnekler:
jQuery("<a>").tagName(); //==> "A"
jQuery("<h1>").tagName(); //==> "H1"
jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"
Etiket adlarının kural gereği CAPITALIZED olarak döndürüldüğünü unutmayın . Döndürülen etiket adının tamamen küçük harf olmasını istiyorsanız, özel işlevi şu şekilde düzenleyebilirsiniz:
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
Örnekler:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
.prop
.
toLowerCase()
veya işlevini kullanmak toUpperCase()
yararlı olabilir prop('tagName')
. if($("my_selector").prop("tagName").toLowerCase() == 'div')
veyaif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
DOM'un nodeName
özelliğini kullanabilirsiniz :
$(...)[0].nodeName
$(this).prop('tagname')
. this.nodeName genellikle daha verimlidir. +1
JQuery 1.6'dan itibaren şimdi prop'i aramalısınız:
$target.prop("tagName")
jQuery 1.6+
jQuery('selector').prop("tagName").toLowerCase()
eski versiyonlar
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase () zorunlu değildir.
new String
?
Sen olmalıdır DEĞİL kullanmak jQuery('selector').attr("tagName").toLowerCase()
sadece jQuery eski sürümlerinde çalıştığı için,.
Sen olabilir kullanmak $('selector').prop("tagName").toLowerCase()
jQuery thats sürümünü kullandığınızı sen belli if> = sürüm 1.6.
HERKES'in şu ana kadar (Ocak 2016) jQuery 1.10+ veya daha fazlasını kullandığını düşünebilirsiniz, ancak maalesef durum bu değil. Örneğin, bugün birçok kişi hala Drupal 7 kullanıyor ve Drupal 7'nin bugüne kadarki her resmi sürümü varsayılan olarak jQuery 1.4.4'ü içeriyor.
Bu nedenle, projeniz jQuery 1.6+ kullanıp kullanmayacağından emin değilseniz, jQuery'nin TÜM sürümleri için çalışan seçeneklerden birini kullanmayı düşünün:
Seçenek 1 :
jQuery('selector')[0].tagName.toLowerCase()
seçenek 2
jQuery('selector')[0].nodeName.toLowerCase()