是否有一种简单的方法来获取标记名称?

例如,如果给我$('a')到一个函数中,我希望得到'a'。


当前回答

jQuery 1.6 +

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

旧版本

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

toLowerCase()不是强制性的。

其他回答

从jQuery 1.6开始,你现在应该调用prop:

$target.prop("tagName")

参见http://api.jquery.com/prop/

get点击标签名称与jQuery

jQuery("YOUR_SELECTOR").click(function (e) {
     console.log(jQuery(e.target).prop("tagName").toLowerCase())
})

你可以使用DOM的nodeName属性:

$(...)[0].nodeName

nodeName将为您提供大写的标记名称,而localName将为您提供小写的标记名称。

$("yourelement")[0].localName 

会给你:youelement而不是youelement

你不应该使用jQuery('selector').attr("tagName"). tolowercase(),因为它只适用于旧版本的jQuery。

你可以使用$('selector').prop("tagName"). tolowercase()如果你确定你使用的是>= version 1.6的jQuery版本。


注意:

你可能认为现在(2016年1月)每个人都在使用jQuery 1.10+或其他东西,但不幸的是,事实并非如此。例如,今天许多人仍在使用Drupal 7,到目前为止Drupal 7的每个官方版本都默认包含jQuery 1.4.4。

所以,如果你不确定你的项目是否会使用jQuery 1.6+,考虑使用一个适用于所有版本的jQuery的选项:

方案一:

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

选项2

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