jQuery 如何处理注释元素?

2024-03-16

我一直以为jQuery只能操作DOMelements,即那些具有nodeType == 1.

然而令我震惊的是,在创建 HTML 时$("<p> </p><!-- comment -->")结果是:

[p, Comment { data=" comment ", length=21, nodeName="#comment", more...}](萤火虫格式)

我通过 AJAX 接受了一些 HTML,并以这种方式创建了 DOM Comment,并将其传递给仅适用于元素的函数:defaultView.getComputedStyle( elem, null )

有什么干净的方法可以解决这个问题吗?


我一直以为 jQuery 只对 DOM 元素进行操作

仅其选择器selectDOM 元素。在您的例子中,您将根据您提供的 HTML 字符串创建节点。因此 jQuery 解析该字符串并返回您所要求的节点。

要清洁它,请执行.filter().

var els = $("<p> </p><!-- comment -->").filter(function() { 
                                                  return this.nodeType === 1; 
                                               });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 如何处理注释元素? 的相关文章

随机推荐