タグ名を取得する簡単な方法はありますか?
たとえば、関数に$('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"
DOMの nodeName
プロパティ を使うことができます。
$(...)[0].nodeName
jQuery 1.6以降
jQuery('selector').prop("tagName").toLowerCase()
より古いバージョン
jQuery('selector').attr("tagName").toLowerCase()
toLowerCase()は必須ではありません。
これはまた別の方法です。
$('selector')[0].tagName
ではなくjQuery('selector').attr("tagName").toLowerCase()
を使用する必要があります。これは、古いバージョンのJqueryでのみ機能するためです。
could use $('selector').prop("tagName").toLowerCase()
は、バージョン1.6以降のjQueryのバージョンを使用していることが確実な場合に使用します。
誰もがjQuery 1.10以降または2016年1月までに何かを使用していると思うかもしれませんが、残念ながらそうではありません。たとえば、今日の多くの人々はまだDrupal 7を使用しており、今日までのDrupal 7のすべての公式リリースにはデフォルトでjQuery 1.4.4が含まれています。
したがって、プロジェクトでjQuery 1.6+を使用するかどうかがわからない場合は、jQueryのすべてのバージョンで機能するオプションのいずれかを使用することを検討してください。
オプション1:
jQuery('selector')[0].tagName.toLowerCase()
オプション2
jQuery('selector')[0].nodeName.toLowerCase()