1

有没有一种简单的方法来获取与 Jquery 的查询匹配的节点列表(包括给定节点)?

我想过使用 .find 方法如下:

var getNodes = function(dom, query){
    var nodes = $(dom).find(query || '*');
    nodes.splice(0,0,dom);
    return nodes;
}

奥利维尔

4

2 回答 2

3

如果你想在一个集合中搜索dom匹配查询的元素及其内容,那么你可以这样做

$(dom).find(query).add($(dom).filter(query))

或者

$(dom).find(query).addBack().filter(query);

一个更简单的(但如果有很多孩子会更慢)

$(dom).find('*').addBack().filter(query);
于 2013-02-15T13:08:59.763 回答
0

jQuery中任何内容的结果都是非 JavaScript 数组$()的实例。jQuery你可以做的是这样的:

var nodes = [ dom ];
var found = $(dom).find(query || '*');
$.each(found, function(item) { nodes.push(this); });
于 2013-02-15T13:10:25.430 回答