2011-01-11 10 views
0

すべての行でクラスを奇数から偶数に変更するためのこのコードがあります。私はそれがやりたいことは奇数、偶数奇数さえも、奇数の代わりに、奇数、偶数行くです:すべてのテーブル行の代わりに2行ごとに変更する

window.addEvent('domready', function() { 

var count = 0; 

$$('table.pretty-table tr').each(function(el) { 

el.addClass(count++ % 2 == 0 ? 'odd' : 'even'); 

}); 

}); 

答えて

1

VAR数も

window.addEvent('domready', function() { 
    $$('table.pretty-table tr').each(function(el, idx) { 
     el.addClass(idx % 4 > 1 ? 'odd' : 'even'); 
    }); 
}); 

PSの必要がありません。ただ、 The Scrum Meisterの答えを最適化する。

+0

それを整理していただきありがとうございます! – MSD

5
el.addClass(count++ % 4 > 1 ? 'odd' : 'even'); 
+0

MooTools-wayは、セレクタエンジンSlickを使用することです。 –

+0

なぜdownvote? –

+0

助けてくれてありがとう! – MSD

0
window.addEvent('domready', function() { 

    var count = 0; 

    $$('table.pretty-table tr').each(function(el) { 
     if (count == 0 || count % 4 < 2) { 
      el.addClass('odd'); 
     } 
     else 
     { 
      el.addClass('even'); 
     } 
    }); 
    count++; 
}); 
+0

は3オッズと1偶数を印刷します。 'count%4 <2 'に変更してください –

2

滑らかに使用できます。

$$("table.pretty-table tr:nth-child(4n), table.pretty-table tr:nth-child(4n-1)").addClass("even"); 

シンプルです。 http://www.w3.org/TR/css3-selectors/#structural-pseudosアクションで

http://www.jsfiddle.net/dimitar/mdtVB/6/

ツルツルが最初に実行されます。ちなみにhttp://www.jsfiddle.net/dimitar/mdtVB/5/

、それは滑らかなを使用するので、私は少しテスタークラスがやった.eachループよりも高速になる場合疑問に私を得ました10000回の反復と10秒後のロードでは、それぞれにもそれが実行されます。 WindowsのFF3.6.12では滑らかに勝利しますが、わずかに勝ちます。 #idでテーブルを呼び出すと、Slick - http://www.jsfiddle.net/dimitar/mdtVB/8/が優先されます(jsfiddleを正しく実行するためのテスト開始前に2秒の遅延が追加されます)。

関連する問題