Answers:
您可以致电.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的版本,多数民众赞成在> = 1.6版。
您可能会认为,到现在(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()