0

给定 HTML:

<div id="div-a"></div>
<div id="div-b"></div>
<div id="div-c"></div>

以及之前创建的 jQuery 选择:

var $divs = $("div");

如何通过 id 选择该选择中的特定 div?
注意:选择$divs尚未附加到 DOM,所以我不能直接选择(例如$("#div-b"))。

find()选择选择的后代,所以这不起作用:

$divs.find("#div-b");

has()/:has()选择包含具有指定选择器的元素的元素,因此这不起作用:

$divs.has("#div-b");
4

3 回答 3

3

我想你正在寻找filter()

var $subset = $divs.filter("#div-b");
于 2013-08-12T20:28:33.570 回答
3

你想用来filter()减少集/。

var elem = $divs.filter("#div-b");
于 2013-08-12T20:27:52.040 回答
1

如果您只想检查您已经创建的特定 jQuery 对象中的元素,您可以使用以下.filter()方法:

var $divs = $("div");
var item = $divs.filter("#div-a");

这将仅检查 $divs jQuery 对象中的元素,因此查看它们是否与选择器匹配"#div-a",并将返回一个仅包含匹配项的新 jQuery 对象(在这种情况下为零或一个对象)。

于 2013-08-12T20:33:33.667 回答