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

时间:2013-08-04 07:27:43

标签: jquery function search select next

这是我的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类?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

E.g。

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)
});

答案 1 :(得分:0)

查看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);
}