Cadrage de JavaScript : Comment opérer uniquement sur des éléments spécifiques ?
P粉884548619
P粉884548619 2023-09-08 20:36:06
0
1
671

J'ai un code JS très simple qui ne fait qu'une seule chose, c'est-à-dire activer une classe open类。问题是,我有4个重复的.clickSlide元素和.sub_menu元素,当我点击其中一个元素触发代码时,所有元素都会得到open类。只有其中一个关注的元素应该得到open sur un élément spécifique de la page.

Ma meilleure hypothèse est qu'il manque quelque chose this dans le JS. Mais je suis ouvert aux solutions à ce problème !

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>

P粉884548619
P粉884548619

répondre à tous(1)
P粉431220279

Donc la solution (basée sur la réponse d'Anass Kartit) est la suivante :

jQuery(document).ready(function($) {
    $(".clickSlide").click(function(){
        $(this).children(".sub_menu").toggleClass("open");
    });
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal