jquery 判断是否dom对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 判断是否dom对象相关的知识,希望对你有一定的参考价值。

参考技术A 不是。
dom对象:
DOM—Document Object Model,它是W3C国际组织的一套Web标准。它定义了访问HTML文档对象的一套属性、方法和事件。
DOM是以层次结构组织的节点或信息片断的集合。文档对象模型(Document Object Model)是给HTML与XML文件使用的一组API。DOM的本质是建立网页与脚本语言或程序语言沟通的桥梁。本回答被提问者采纳

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

【中文标题】jQuery 是不是有任何函数来确定 jQuery 对象引用的 DOM 元素的标签类型?【英文标题】:Does jQuery have any function to determine the tag type of the DOM element(s) referenced by jQuery object?jQuery 是否有任何函数来确定 jQuery 对象引用的 DOM 元素的标签类型? 【发布时间】:2011-07-04 01:24:36 【问题描述】:

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

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

我想知道this&lt;input&gt;元素还是&lt;div&gt;元素,不直接使用DOM。

【问题讨论】:

【参考方案1】:

这样做:

this.nodeName;

...或者为了安全起见,将其转换为特定情况:

this.nodeName.toLowerCase();

nodeName 属性是 widely supported 属性,在元素节点的情况下(如您的情况)将为您提供标签名称。

【讨论】:

为什么nodeNametagName更好的链接。 @Box9:我打算将来自 quirksmode 的关于tagName 的注释粘贴到答案中,但我想我会顺其自然。但是,是的,nodeName 是要走的路。 :o)【参考方案2】:

你可以使用tagName:

this.tagName; //notice this is the DOM element not the jQuery object.

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

【讨论】:

【参考方案3】:

为什么不直接使用 DOM?既然您在this 中已经有了一个方便的DOM 对象,我会说只是使用它。如果你只有有你可以做的jQuery对象:

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

$this.is("div")

但没有必要。

【讨论】:

我会说能够通过attr 访问tagName 是jQuery 消除属性和属性之间区别的副作用,不应依赖。【参考方案4】:

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

$this.prop("tagName");

【讨论】:

以上是关于jquery 判断是否dom对象的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 判断 DOM 对象是不是在窗口外? [复制]

如何判断出一个js对象是不是一个dom对象

数据缓存Data

数据缓存Data

js中如何判断一个DOM对象是否存在?

js中如何判断一个DOM对象是不是存在?