jquery选择它的孩子1个接一个?

2ic8powd  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(124)

这是我的HTML代码:

<ul id="menuDots">
    <li id="about1"><a href="#"><img class="bulletRoll" src="images/menu-dot.png" /><img src="images/menu-dot-rollover.png" /></a></li>
    <li id="about2"><a href="#"><img class="bulletRoll" src="images/menu-dot.png" /><img src="images/menu-dot-rollover.png" /></a></li>
    <li id="about3"><a href="#"><img class="bulletRoll" src="images/menu-dot.png" /><img src="images/menu-dot-rollover.png" /></a></li>
</ul>

我现在针对的是bulletRoll类,有没有jquery函数可以依次选择bulletRoll 1?假设我在第二个bulletRoll类上,那么我再次触发相同的函数,它将转到最近的前一个/下一个bulletRoll类?

tuwxkamq

tuwxkamq1#

看看jQuery的.next().prev()函数。

var current = $("li:first");
if(current.next().length){ //for next. If next exists,
   current = current.next():
   trigger_function(current);
}
if(current.prev().length){ //Similarly for prev,
   current = current.prev():
   trigger_function(current);
}
8ljdwjyq

8ljdwjyq2#

您可以使用jQuery's next和/或prev选择器来执行此操作。
例如

var next = $(this).next("li");
if (next.length){   // there is another li
   myfunction(next);  //trigger same function
}

对于您的用例,使用jQuery's each function可能更简单,因为它将迭代选择中的每个元素,而无需递归调用函数:

$("li").each(function(index, value){
   // do something with the element $(this)
});

相关问题