タグ名を取得する簡単な方法はありますか?
たとえば$('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"
通常、タグ名はCAPITALIZEDを返します。返されるタグ名をすべて小文字にする場合は、次のようにカスタム関数を編集できます。
jQuery.fn.tagNameLowerCase = function() {
return this.prop("tagName").toLowerCase();
};
例:
jQuery("<a>").tagNameLowerCase(); //==> "a"
jQuery("<h1>").tagNameLowerCase(); //==> "h1"
jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"
.prop
。
toLowerCase()
またはを使用toUpperCase()
すると役立つ場合がありますprop('tagName')
。 if($("my_selector").prop("tagName").toLowerCase() == 'div')
またはif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
DOMのnodeName
プロパティを使用できます。
$(...)[0].nodeName
$(this).prop('tagname')
。this.nodeNameの方が効率的であることがよくあります。+1
jQuery 1.6以降
jQuery('selector').prop("tagName").toLowerCase()
古いバージョン
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase()は必須ではありません。
new String
?
あなたは必要がありませ使用しjQuery('selector').attr("tagName").toLowerCase()
、それが唯一のjQueryの古いバージョンで動作するため、。
あなたは可能性が使用$('selector').prop("tagName").toLowerCase()
あなたはjQueryのthatsの> =バージョン1.6のバージョンを使用していると確信している場合。
あなたは誰もがjQuery 1.10+か何かを使っていると思うかもしれませんが(2016年1月)、残念ながら実際にはそうではありません。たとえば、今日でも多くの人々がまだDrupal 7を使用しており、今日までのDrupal 7のすべての公式リリースには、デフォルトでjQuery 1.4.4が含まれています。
したがって、プロジェクトでjQuery 1.6以降を使用するかどうかが不明な場合は、jQueryのすべてのバージョンで機能するオプションの1つを使用することを検討してください。
オプション1 :
jQuery('selector')[0].tagName.toLowerCase()
オプション2
jQuery('selector')[0].nodeName.toLowerCase()