0

こんにちは友達私<tr>は同じことをしようとしているすべての背景色を変更したいのですが、結果が得られません。コードに問題があることがわかっています。私を助けてください

以下は私のコードチェックオンラインデモです

脚本

var b = new Array('col_one','col_two','col_three');

$('#tbl tr').each(function(){

var a = 0;

$('#tbl tr').addClass(b[a])

a++;


})

CSS

.col_one
{
    background:#000099;
}
.col_two
{
    background:#009966;
}
.col_three
{
    background:#663333;
}

HTML

<table width="100%" border="1" cellspacing="0" cellpadding="0" id="tbl">
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
4

4 に答える 4

3

これは、各反復であると宣言aしているため0、変数をのanon関数に渡して、each反復される要素のインデックスを取得できます。

$('#tbl tr').each(function(idx){

   // $(this) refers to the jQuery object of each tr
   $(this).addClass(b[idx%3]); // re-use colors when idx > 3
})

http://jsfiddle.net/QnVdE/2/

于 2012-05-30T08:01:08.797 に答える
1

現在動作しています。

http://jsfiddle.net/QnVdE/3/

于 2012-05-30T08:09:25.560 に答える
0
var b = new Array('col_one','col_two','col_three');
var a = 0;
$('#tbl tr').each(function(){
if(a > 2){a=0;}
$(this).addClass(b[a]);

a++;


})
于 2012-05-30T08:02:10.227 に答える
0
var b = ['col_one','col_two','col_three'];
var a = 0;
$('#tbl tr').each(function(){
    $(this).addClass(b[a % b.length]);
    a++;
});
于 2012-05-30T08:02:44.677 に答える