jQuery是否有任何函数来确定jQuery对象引用的DOM元素的标记类型?我正在编写一个jQuery插件并且......
jQuery.fn.myPlugin() {
return this.each(function() {
var $this = $(this);
// <---------------------------------------HERE!
});
}
我想知道this
是<input>
元素还是<div>
元素,而不直接使用DOM。
答案 0 :(得分:8)
这样做:
this.nodeName;
...或者为了安全起见,将其转换为特定情况:
this.nodeName.toLowerCase();
nodeName
属性是widely supported的属性,在元素节点的情况下会给你标记名称(如你的情况)。
答案 1 :(得分:3)
为什么不直接使用DOM?由于你在this
中已经有了一个方便的DOM对象,我只想使用它。如果只有jQuery对象,你可以这样做:
$this.attr("tagName") == "DIV"
或
$this.is("div")
但是没有必要这样做。
答案 2 :(得分:1)
您可以使用tagName
:
this.tagName; //notice this is the DOM element not the jQuery object.
答案 3 :(得分:0)
应用方法prop("tagName")
获取html元素的标记名,例如:
$this.prop("tagName");