JQuery:如果结构相同,那么匹配的选择器是什么?

JQuery:如果结构相同,那么匹配的选择器是什么?,jquery,Jquery,在我的列表中,有两个具有相同结构的列表。这里是一个元素的结构 <div class="box"> <button class="next">Next</button> <ul class="myList"> <li>1</li> <li>2</li> <li class="current">3</li> <li>4</l

在我的列表中,有两个具有相同结构的列表。这里是一个元素的结构

<div class="box">
  <button class="next">Next</button>
  <ul class="myList">
    <li>1</li>
    <li>2</li>
    <li class="current">3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</div>
因此,当我点击DIV.box中的按钮时,我只会更改这个框中的某些内容。如果可能的话,我不想更改类名或使用id。

使用查找所需的父级,如:

$('.next').on("click", function(){
    var parent = $(this).closest('.box');
    //other stuff
});

有很多不同的方法可以做到这一点。您不能使用全局类选择器,因为您希望将选择限制在DOM的特定部分内。退房

一种方法是遍历父级,并在其中找到匹配的元素

var current = $(this).parent().find('li.current');
current.removeClass('current').next('li').addClass('current');

诀窍是使用$this对象;他们正在单击按钮,并希望.current类继续前进。注意,$.parent的性能略优于$.closest。