如何在jQuery中基于给定的CSS选择器获取节点集?

时间:2011-07-01 04:07:19

标签: jquery

我想基于jQuery中给定的CSS选择器检索节点集。它在YUI中以YAHOO.util.Selector.query(abc,root)完成,其中abc是给定的CSS。我必须把它转换成jquery。

1 个答案:

答案 0 :(得分:4)

var nodes = $('.someCssSelector');

使它成为一个DOM元素数组,而不是带有DOM元素的jQuery对象:

var nodes = $('.someCssSelector').toArray();

默认根目录是document。因此,上面的选择器将找到文档中的所有.someCssSelector元素。

Css选择器当然可以建立自己的根目录。

var nodes = $('#someContainer .someCssSelector');

这将为您提供作为ID为someContainer的元素的后代存在的所有内容。

如果您之前选择了someContainer,则可以使用jQuery的traversal methods[docs]之一,例如find()[docs]方法来定位先前所选元素中的元素。

var container = $('#someContainer');

var nodes = container.find( '.someCssSelector' );

jQuery有helpful documentation。顶部的搜索jQuery 字段是一个过滤器,可以为您主动缩小API。