jQuery有没有任何函数可以确定由jQuery对象引用的DOM元素的标签类型?

9 浏览
0 Comments

jQuery有没有任何函数可以确定由jQuery对象引用的DOM元素的标签类型?

jQuery是否有任何函数可以确定jQuery对象引用的DOM元素的标签类型?我正在编写一个jQuery插件...\n

jQuery.fn.myPlugin() {
    return this.each(function() {
       var $this = $(this);
       // <---------------------------------------在这里!
    });
}

\n我想知道this是一个元素还是一个元素,而不直接使用DOM。

0
0 Comments

jQuery提供了一个方法来确定DOM元素的标签类型,即tagName。要使用这个方法,可以通过this.tagName来获取DOM元素的标签类型。需要注意的是,this.tagName返回的是DOM元素本身,而不是jQuery对象。

解决方法:

使用this.tagName可以获取DOM元素的标签类型。具体使用方法如下:

this.tagName;

参考链接:

http://reference.sitepoint.com/javascript/Element/tagName

0
0 Comments

jQuery提供了一个方法来确定jQuery对象引用的DOM元素的标签类型,即通过使用`attr`方法来获取`tagName`属性。但是,为什么不直接使用DOM对象呢?既然在`this`中已经有一个DOM对象方便使用,我会建议直接使用它。如果你只有jQuery对象,你可以使用以下方法:

$this.attr("tagName") == "DIV"

或者

$this.is("div")

但是这是没有必要的。

我认为通过`attr`方法来访问`tagName`是jQuery消除属性和属性之间区别的副作用,不应依赖此方法。

0
0 Comments

问题的出现原因是想要确定由jQuery对象引用的DOM元素的标签类型,即想要获取DOM元素的标签名称。

解决方法是通过使用this.nodeName来获取DOM元素的标签名称。为了安全起见,可以将标签名称转换为小写形式,即this.nodeName.toLowerCase()

nodeName属性是一个被广泛支持的属性,在元素节点的情况下可以获取到标签名称。

在给出的链接中有关于为什么nodeNametagName更好的详细解释。

其中一个参与讨论的人提到了在回答中粘贴来自quirksmode关于tagName的注释,但决定不这样做。他认为nodeName是更好的选择。

0