如何在现有选择中按ID选择元素?

时间:2013-08-12 20:26:09

标签: javascript jquery dom

给定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");

3 个答案:

答案 0 :(得分:3)

您想使用filter()来减少设置/.

var elem = $divs.filter("#div-b");

答案 1 :(得分:3)

我认为您正在寻找filter()

var $subset = $divs.filter("#div-b");

答案 2 :(得分:1)

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

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

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