相对于另一个选择器的匹配集结果
Matched set results relative to another selector
假设我正在尝试检索具有 active
个子元素的元素:
$('.a .active').parents('.a');
有没有办法在初始查询中实现这一点,您可以将选择器指定为一个参数,并将结果集的选择器指定为另一个参数?
类似于:
$('.a .active', '.a');
您可以使用 :has()
selector 以便 select .a
包含 .active
后代元素的元素:
$('.a:has(.active)');
值得指出的是 $('.active', '.a')
是一个 context selector,它将 select .active
元素作为 .a
元素的后代。
换句话说,
$('.active', '.a');
本质上等同于:
$('.a').find('.active');
上面的两个查询都会匹配以下内容:
<div class="a">
<span class="active">This would be selected by both of the above.</span>
</div>
因此 select 或 $('.a .active', '.a')
会尝试将 select .active
后代元素嵌套在 .a
元素内,然后在另一个 .a
元素 (example):
$('.a .active', '.a')
<div class="a">
<div class="a">
<span class="active">Select this.</span>
</div>
</div>
假设我正在尝试检索具有 active
个子元素的元素:
$('.a .active').parents('.a');
有没有办法在初始查询中实现这一点,您可以将选择器指定为一个参数,并将结果集的选择器指定为另一个参数?
类似于:
$('.a .active', '.a');
您可以使用 :has()
selector 以便 select .a
包含 .active
后代元素的元素:
$('.a:has(.active)');
值得指出的是 $('.active', '.a')
是一个 context selector,它将 select .active
元素作为 .a
元素的后代。
换句话说,
$('.active', '.a');
本质上等同于:
$('.a').find('.active');
上面的两个查询都会匹配以下内容:
<div class="a">
<span class="active">This would be selected by both of the above.</span>
</div>
因此 select 或 $('.a .active', '.a')
会尝试将 select .active
后代元素嵌套在 .a
元素内,然后在另一个 .a
元素 (example):
$('.a .active', '.a')
<div class="a">
<div class="a">
<span class="active">Select this.</span>
</div>
</div>