0

1 つのページに複数のテーブルがあります。

1 行おきに強調表示し、スタイリングが無効になっている CSS からの編集不可能な入力データを強調表示しています。

以下は、私が現在使用しているコードです。その結果、編集可能なデータを含む列が白と金色に交互に表示されます。編集不可のデータを含む列は、グレーとゴールドが交互に表示されます。(現時点では、このグリッドで編集できる列を視覚的に示すには十分です。)

$(document).ready(function()
{
  $("tr:even").css("background-color", "#DEDEBC");
  $("tr:even input").css("background-color", "#DEDEBC");
});

CSS

input[disabled='disabled'] {
   text-decoration:none; 
   text-indent:5px; 
   color:#006;
   border:none;
   -webkit-box-shadow:0 0 0 #666 inset; 
   -moz-box-shadow:0 0 0 #666 inset; 
   box-shadow:0 0 0 #666 inset;
}

私が実際に作業している現在のページのテーブルの 1 つ (2 番目のテーブル) でのみこの動作が必要ですが、jquery にはあまり詳しくありません。他のページでは、いくつかのテーブルのうち 2 つまたは 3 つのテーブルで必要になります。

もう 1 つの問題は、このコードがテーブル間で奇数/偶数の決定を続けることです。前のテーブルの最後の行が偶数だった場合、次のテーブルの最初の行は奇数と見なされ、その逆も同様です。

jQuery を変更して特定のテーブルを選択するにはどうすればよいですか? 新しいテーブルで最初からやり直すにはどうすればよいですか?

4

1 に答える 1

2

クラスに色を付けたいテーブルだけを与えますcolorize
jQuery コードを次のように置き換えます。

$(function(){
    $('table.colorize').each(function(){
        $('tr:even, tr:even input', this).css("background-color", "#DEDEBC");
    });
});

これにより、クラスで定義したテーブルのみが色付けされ、各テーブルの偶数がリセットされます。

于 2012-06-21T01:51:26.980 に答える