3

理由は聞かないでください。ただし、<li>要素の横にコンテンツがある要素にクラスゼブラを追加する必要があります。これは私が持っている限りですが、どの計算を使用するかわかりません:

$("li").each(function(index){
    if(index % ??? == 0) {  // <-- not sure what to put here

    }
});
<ul>
  <li></li>
  <li></li>
  <li></li> <!-- add the zebra class here -->
  <li></li>
  <li></li>
  <li></li>
  <li></li> <!-- add the zebra class here -->
  <li></li>
  <li></li>
  <li></li>
  <li></li> <!-- add the zebra class here -->
  <li></li>
</ul>

誰か助けてもらえますか?

4

4 に答える 4

12

セレクターは方程式を受け入れることができ、:nth-child()問題を完全に解決します。

$('ul li:nth-child(4n+3)').addClass("zebra").text("Here");

li3から始まる4日ごとに選択します:nth-child(4n-1)。これも機能します(4〜1要素ごと)。いいえeach()またはモジュロは必要ありません。

http://jsfiddle.net/AvPhe/-サンプル入力に基づく例では、 「Here」というテキストとともにzebraクラスが追加されています。

于 2010-06-18T09:32:23.530 に答える
2

私が言えることから、あなたはクラス「ゼブラ」で3、7、11、...が欲しいです:

$("li").each(function(index,item){

if((index+2)%4 == 0) {
  $(item).addClass("zebra");
}

});

編集:アンディの答えをチェックしてください。私のものよりはるかに良い:-)

于 2010-06-18T09:27:07.613 に答える
0

周期は4であるため、モジュロは4である必要があります。
ただし、2でオフセットされているため、インデックスに2を追加する必要があります。

if ((index + 2) % 4 == 0)
于 2010-06-18T09:25:51.617 に答える
0
if (index % 4 == 2)

あなたが探しているものだと思います。

この例では、3番目、7番目、および10番目の要素が選択されています。

于 2010-06-18T09:27:13.337 に答える