我有一个非常简单的JS代码,它只做了一件事,即在页面上的特定元素上切换一个open
类。问题是,我有4个重复的.clickSlide
元素和.sub_menu
元素,当我点击其中一个元素触发代码时,所有元素都会得到open
类。只有其中一个关注的元素应该得到open
类。
我最好的猜测是在JS中缺少某种this
。但我对这个问题的解决方案持开放态度!
jQuery(document).ready(function($) { $(".clickSlide").click(function() { $(".sub_menu").toggleClass("open"); }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="ht_course_one"> <ul class="select-menu dropdown"> <li class="clickSlide"> <ul class="sub_menu"> <li></li> </ul> </li> </ul> </div> <div class="ht_course_two"> <ul class="select-menu"> <li class="clickSlide"> <ul class="sub_menu"> <li></li> </ul> </li> </ul> </div> <div class="ht_course_three"> <ul class="select-menu"> <li class="clickSlide"> <ul class="sub_menu"> <li></li> </ul> </li> </ul> </div> <div class="ht_course_four"> <ul class="select-menu"> <li class="clickSlide"> <ul class="sub_menu"> <li></li> </ul> </li> </ul> </div>
所以解决方案(基于Anass Kartit的回答)是这样的: