suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Scoping JavaScript: Wie kann man nur bestimmte Elemente bearbeiten?

Ich habe einen sehr einfachen JS-Code, der nur eine Aufgabe erfüllt, nämlich eine open类。问题是,我有4个重复的.clickSlide元素和.sub_menu元素,当我点击其中一个元素触发代码时,所有元素都会得到open类。只有其中一个关注的元素应该得到open-Klasse für ein bestimmtes Element auf der Seite umzuschalten.

Meine beste Vermutung ist, dass etwas this im JS fehlt. Aber ich bin offen für Lösungen für dieses Problem!

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粉884548619P粉884548619485 Tage vor655

Antworte allen(1)Ich werde antworten

  • P粉431220279

    P粉4312202792023-09-09 12:12:40

    所以解决方案(基于Anass Kartit的回答)是这样的:

    jQuery(document).ready(function($) {
        $(".clickSlide").click(function(){
            $(this).children(".sub_menu").toggleClass("open");
        });
    });

    Antwort
    0
  • StornierenAntwort