jQuery:获取选定的元素标签名称
有一个简单的方法来获取标签名称?
例如,如果给$('a')
赋予一个函数,我想得到'a'
。
你可以调用.prop("tagName")
。 例子:
jQuery("<a>").prop("tagName"); //==> "A" jQuery("<h1>").prop("tagName"); //==> "H1" jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
如果写出.prop("tagName")
非常乏味,可以创build一个自定义函数,如下所示:
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"
您可以使用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。
你可以使用$('selector').prop("tagName").toLowerCase()
如果你确定你使用的版本是1.6以上版本的jQuery。
注意 :
你可能认为现在(2016年1月)所有人都在使用jQuery 1.10+,但不幸的是,事实并非如此。 例如,今天很多人仍然使用Drupal 7,并且Drupal 7的每一个官方版本都包含默认的jQuery 1.4.4。
所以如果不确定你的项目是否会使用jQuery 1.6+,那么考虑使用适用于所有jQuery版本的选项之一:
选项1 :
jQuery('selector')[0].tagName.toLowerCase()
选项2
jQuery('selector')[0].nodeName.toLowerCase()