0

これは私の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 つずつ選択できますか? 2番目の bulletRoll クラスにいる場合、同じ関数を再度トリガーすると、最も近い前/次の bulletRoll クラスに移動しますか?

助けてくれてありがとう。

4

2 に答える 2

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);
}
于 2013-08-04T07:36:12.023 に答える
0

これを行うには、 jQuery の nextおよび / またはprevセレクターを使用できます。

例えば

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

あなたのユースケースでは、 jQuery の each 関数を使用する方が簡単かもしれませんが、関数を再帰的に呼び出すことなく、選択範囲内の各要素を反復処理します。

$("li").each(function(index, value){
   // do something with the element $(this)
});
于 2013-08-04T07:29:57.303 に答える