jQuery:獲取選定的元素標籤名稱

是否有一種簡單的方法來獲取標籤名稱? node

例如,若是給我$('a')一個函數,我想獲得'a'jquery


#1樓

應該使用jQuery('selector').attr("tagName").toLowerCase()由於它只能在舊版本的jQuery工做。 api

若是肯定使用的是jQuery thats> = version 1.6,則能夠使用$('selector').prop("tagName").toLowerCase()函數


注意 :

您可能會認爲,到目前爲止(2016年1月),每一個人都在使用jQuery 1.10+,但不幸的是事實並不是如此。 例如,當今許多人仍在使用Drupal 7,而且迄今爲止,到目前爲止,Drupal 7的每一個正式發行版都默認包含jQuery 1.4.4。 this

所以,若是不肯定您的項目是否將使用jQuery 1.6+,請考慮使用適用於全部jQuery版本的選項之一: spa

選項1 : code

jQuery('selector')[0].tagName.toLowerCase()

選項2 get

jQuery('selector')[0].nodeName.toLowerCase()

#2樓

您能夠調用.prop("tagName") 。 例子: io

jQuery("<a>").prop("tagName"); //==> "A"
jQuery("<h1>").prop("tagName"); //==> "H1"
jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"


若是寫出.prop("tagName")很繁瑣,則能夠這樣建立一個自定義函數: function

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"

#3樓

您可使用DOM的nodeName屬性

$(...)[0].nodeName

#4樓

從jQuery 1.6開始,您如今應該調用prop:

$target.prop("tagName")

參見http://api.jquery.com/prop/


#5樓

jQuery 1.6以上

jQuery('selector').prop("tagName").toLowerCase()

舊版本

jQuery('selector').attr("tagName").toLowerCase()

toLowerCase()不是必需的。

相關文章
相關標籤/搜索