ページに複数の表があり、奇数行の色付けを試してみると、jQueryは、(すべての表から)TRのグループ全体を一緒にマージするようです行は奇数です。 http://jsfiddle.net/ryjennings/KNmuQ/5/複数の表の奇数行への色付け
はこれをやってからのjQueryを停止し、個別に各テーブルを治療する方法はあります:
は、例を参照してください?
ページに複数の表があり、奇数行の色付けを試してみると、jQueryは、(すべての表から)TRのグループ全体を一緒にマージするようです行は奇数です。 http://jsfiddle.net/ryjennings/KNmuQ/5/複数の表の奇数行への色付け
はこれをやってからのjQueryを停止し、個別に各テーブルを治療する方法はあります:
は、例を参照してください?
あなたは代わりにこれを行うことができます:
$(document).ready(function() {
$("table").find("TR:even").addClass("odd");
});
基本的には、元のセレクタは、それらのすべてをしたページ、上のtable
要素内に含まれるtr
要素のすべてのグループをつかんし、その後、すべてのを取りますその巨大なセットの他の1つ。新しい一連のセレクタは、まずすべてのテーブルのグループを作成し、次に各テーブル内の行のサブグループを作成し、各サブグループ内の行を1つおきに取ります。
パーフェクト!これは、うまくいった! – RyJ
これは、あなたがそれを行うことができ一つの方法です:あなたはCSSで行うことができます何のためにJavascriptを使用してすべきではない
$("table").each(function(){
$("tr:even", this).addClass("odd");
});
ここで '.each()'の必要はありません。 –
@MДΓΓLLLLLL...もし私がfindメソッドを使っていたのであれば、おそらくそうではなく、私が使っている構文のために必要です。私はすでにダビデの答えを否定した。これは可能な代替手段としてここにある。 –
$(document).ready(function() {
$("table").each(function(){
$(this).find('TR:even').addClass("odd");
});
});
ここで '.each()'の必要はありません。 –
うん、あなたは正しい。 –
。 CSSは数十倍高速です。何が必要:nth-child
psudo-classです:あなたが使用しているコードとは対照的に、
tr:nth-child(odd) { background:#f5f6f8; }
記録のために、私はあなたに同意します。私の答えは、単にjQueryスニペットを修正するリクエストへの応答であり、必ずしもCSSやバニラのJavaScriptの代わりにjQueryを使うことを推奨するものではありませんでした。ただし、一部の非常に一般的なブラウザ(IE 8以降を含む)ではnth-childがサポートされていないことに注意してください。 –
私たちの答え+] Modernizr](http://www.modernizr.com/)は、クロスブラウザーの理想的なソリューションです。 –
この1つは、親テーブルに対して行を処理します... FYIだけ
$(document).ready(function() {
$("tr:nth-child(even)").each(function() {
$(this).addClass('odd');
});
});
- CSS3 IE8で動作しませんが、これを行うことができます。 'tr:nth-child(odd)td'を使います。 http://caniuse.com/css-sel3 –
現代のブラウザでは、純粋なCSSでこれを行うことができます:http://jsfiddle.net/mblase75/KNmuQ/22/ – Blazemonger