协慌网

登录 贡献 社区

jQuery:获取选定的元素标签名称

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

例如,如果给我$('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"


请注意,按照惯例,标签名称返回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 开始,您现在应该调用 prop:

$target.prop("tagName")

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