Jquery和Get遍历API

时间:2013-02-15 13:06:39

标签: javascript jquery splice

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

我考虑过如下使用.find方法:

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

奥利弗

2 个答案:

答案 0 :(得分:3)

如果你想搜索由dom组成的集合及其内容以查找与查询匹配的元素,那么你可以

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

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

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

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

答案 1 :(得分:0)

jQuery中$()任何内容的结果都是jQuery的实例,而不是JavaScript数组。你能做的就是这样:

var nodes = [ dom ];
var found = $(dom).find(query || '*');
$.each(found, function(item) { nodes.push(this); });