jQuery如何处理注释元素?

前端之家收集整理的这篇文章主要介绍了jQuery如何处理注释元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直认为jQuery只对DOM元素运行,即那些nodeType == 1的节点.

但是我很震惊,在创建HTML $(“< p>< / p><! - comment - >”)时会导致:

[p,评论{data =“comment”,长度= 21,nodeName =“#comment”,更多…}](Firebug格式)

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

这有什么干净的方法吗?

解决方法

I always thought that jQuery operates only on DOM elements

它的选择器只选择DOM元素.在您的情况下,您将从您提供的HTML字符串创建节点.所以jQuery解析字符串并返回你要求的节点.

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

var els = $("<p> </p><!-- comment -->").filter(function() { 
                                                  return this.nodeType === 1; 
                                               });@H_404_23@

猜你在找的jQuery相关文章