JQuery 一个祖先的多个元素的选择器

JQuery Selector for multiple elements of one ancestor

我有一个类似于这样的DOM结构:

<div id="ans1">
    <input id="in1" />
    <input id="in2" />
</div>
<div id="ans2">
    <input id="in1" />
    <input id="in2" />
</div>

我如何select一些祖先的后代?

类似于:

$("#ans1 #in1, #ans1 #in2")

您可以使用children函数

$("#ans1").children("#in1, #in2")

你应该使用唯一的 ID,认为 DOM,使用 classes 来指定本质上相同的元素。

将您的 children 更改为与 in1

相同的 class
$("#ans1 > .in1")

将 select ans1 的所有直接后代与 class of in1.

如果您用 classes 替换您的“id”(因为 id 应该是唯一的),那么,

<div id="ans1">
    <input class="in1" />
    <input class="in2" />
</div>
<div id="ans2">
    <input class="in1" />
    <input class="in2" />
</div>

然后,对于 select 所有具有 class="in1" 的 id=ans1 的后代,你会这样,

$('#ans1 .in1')

这将 return id=ans1 元素内的所有 .in1 class 元素组成的数组