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

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

这是我的HTML代码:

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

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

tuwxkamq

tuwxkamq1#

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

  1. var current = $("li:first");
  2. if(current.next().length){ //for next. If next exists,
  3. current = current.next():
  4. trigger_function(current);
  5. }
  6. if(current.prev().length){ //Similarly for prev,
  7. current = current.prev():
  8. trigger_function(current);
  9. }
8ljdwjyq

8ljdwjyq2#

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

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

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

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

相关问题