繁体   English   中英

选择除一个以外的所有div

[英]Select all divs except one

我试图使用jQuery选择除与用户单击按钮名称相匹配的类之外的所有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>

我考虑过尝试使用类,但似乎要与非选择器结合使用更复杂的选择器,例如子代,父代,最接近的选择器。 我试过了--div:not“”> img--和许多其他组合。 我该怎么办?

我要做的第一件事是使用一个类来标识您要定位的元素,即

<div class="target" id="apples">
    <img src="" alt"" >
</div>

然后,将该类与not过滤器组合以匹配所需的元素

$('.target').not('#' + name).toggle()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM