jQuery是否有任何函数来确定jQuery对象引用的DOM元素的标记类型?

时间:2011-02-25 03:46:33

标签: jquery dom

jQuery是否有任何函数来确定jQuery对象引用的DOM元素的标记类型?我正在编写一个jQuery插件并且......

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

我想知道this<input>元素还是<div>元素,而不直接使用DOM。

4 个答案:

答案 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.

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

答案 3 :(得分:0)

应用方法prop("tagName")获取html元素的标记名,例如:

$this.prop("tagName");