是否有一种简单的方法来获取标记名称?
例如,如果给我$('a')到一个函数中,我希望得到'a'。
是否有一种简单的方法来获取标记名称?
例如,如果给我$('a')到一个函数中,我希望得到'a'。
当前回答
get点击标签名称与jQuery
jQuery("YOUR_SELECTOR").click(function (e) {
console.log(jQuery(e.target).prop("tagName").toLowerCase())
})
其他回答
你可以调用.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"
注意,按照约定,标签名是大写返回的。如果你想要返回的标签名称都是小写的,你可以这样编辑自定义函数:
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
get点击标签名称与jQuery
jQuery("YOUR_SELECTOR").click(function (e) {
console.log(jQuery(e.target).prop("tagName").toLowerCase())
})
从jQuery 1.6开始,你现在应该调用prop:
$target.prop("tagName")
参见http://api.jquery.com/prop/
nodeName将为您提供大写的标记名称,而localName将为您提供小写的标记名称。
$("yourelement")[0].localName
会给你:youelement而不是youelement