我尝试使用jQuery来选择除了与用户点击的按钮名称匹配的类的div之外的所有div。 这是HTML示例:
<button name="apples">Apples</button>
<button name="oranges">Oranges</button>
<button name="bananas">Bananas</button>
<div> //This div is also accidentally targeted
<div id="apples">
<img src="" alt"" >
</div>
<div id="oranges">
<img src="" alt"" >
</div>
<div id="bananas">
<img src="" alt"" >
</div>
</div>
这样的事情:
<script>
$("button").click(function() {
var name = $(this).attr('name');
$("div:not('#' + name)").toggle();
// This works, but it obviously also targets other divs on the page.
});
</script>
我想过尝试使用类,但似乎正在与更复杂的选择器(例如child,parent,nearest等)结合使用not选择器。我试过了--div:not&#34;&#34; &GT; img--和许多其他组合。我该怎么办?
答案 0 :(得分:2)
我要做的第一件事是使用一个类来识别你想要定位的元素,即
<div class="target" id="apples">
<img src="" alt"" >
</div>
然后,将该类与not
过滤器组合以匹配您想要的元素
$('.target').not('#' + name).toggle()