这是我在 HTML 中的示例:
<span class="a">Test</span>
<div class="b">
<div id="x_ABC">ABC must NOT be hidden</div>
<div id="x_DEF">DEF must be hidden</div>
<div id="x_GHI">GHI must be hidden</div>
<div id="JKL">JKL must NOT be hidden</div>
</div>
我想要的只是用 jQuery 隐藏所有 id 以“x”开头的 div,在类“b”的 div 中,前面是类“a”的 html 标签。
我试过这段代码:
$('.a + div.b div[id^=x]:gt(0)').hide()
但它并没有按照我的意愿行事。有谁知道如何仅使用类“a”、“b”和“id^=x”来修复选择器?
谢谢!
最佳答案
属性选择器中的引号是强制性的:
$('.a + div.b div[id^="x"]:gt(0)').hide()
出于性能原因,您可能需要使用 .slice()
:
$('.a + div.b div[id^="x"]').slice(1).hide()
关于javascript - "all not first in a div preceded by a object with class"的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608048/