【发布时间】:2012-08-06 03:11:40
【问题描述】:
我发现自己的情况是,我得到了一个 NodeList,我试图将其放入 jQuery 对象中进行操作。问题是数组还包括文本节点、注释节点等,当你说$(nodeList) 时似乎会混淆 jQuery。
我使用下划线创建了一个快速的clean 函数,该函数去除了 DOM 元素并将它们作为数组返回:
_.mixin({
clean: function(nodeList) {
return _(nodeList).filter(function(node) {
return node.nodeType == 1;
});
}
});
$(_(nodeList).clean()) 给了我一个可用的 jQuery 对象。
有没有更好的方法来解决这个问题?
谢谢。
【问题讨论】:
-
@jfriend00 它是 underscore.js (underscorejs.org) 的一部分。另外,OP,试试codereview.stackexchange.com
-
这是下划线问题还是 jQuery 问题? OP 在问题中引用了 jQuery,但在标签中都包含了这两者。
-
@jfriend00 这是一个“如何从 NodeList 中剥离除元素节点之外的所有节点?”问题。
-
@SomekidwithHTML 我并不是真的在寻找我的解决方案的评论。我觉得我根本不需要这样做。我包含了我的 underscorejs mixin 来说明问题,而不是展示解决方案。
标签: jquery dom underscore.js textnode