2014-02-10 18 views
0

我这样做在PHP中:++$r%2?'odd':'even'为了应用条纹行..

<tr class="<?=++$r%2?'odd':'even'?>"><td>...</td></tr> 

但是,当我得到的记录槽的$.ajax -request,我返回的结果是这样的:

$('#table_selected tbody').empty(); // empty the table 
$.ajax({ // fetch new data and insert into new rows 
    ... 
    success: function(data){ 
     $.each(data, function(i, array){ 
      $('#table_selected tbody').append('<tr><td>'+array['name']+'</td></tr>'); 
     }); 
    } 
}); 

我想要做的是将odd/even -class添加到<tr> -element的其他行 - 就像我在php中做的一样。

在js/jqyery中有类似的方法来实现这个吗?

我读到这样的回答:How do I add odd/even class only for table rows which haven´t had odd/even class yet?,我认为这是什么我想达到一个开始,但不知道如何解决工作到我的代码:

$("table tbody tr:nth-child(odd)").addClass("odd"); 
$("table tbody tr:nth-child(even)").addClass("even"); 
+2

'$( “#table_selected TBODY TR:第n个孩子(奇)”)。addClass( “奇”); $(“#table_selected tbody tr:nth-​​child(even)”)。addClass(“even”);'在每个循环之后 –

+2

什么是奇数类和偶数类?如果它是纯粹的样式,那么可能只有一个CSS的解决方案,它将消除对PHP和JavaScript的需求。 –

+2

有一个CSS这样做的唯一方式,但它在IE8或更低版本中不起作用。例如在CSS把tr:nth-​​child(odd){background-color:#333;} – MarkP

回答

2

如果你真的只需要条纹表奇数/偶数行,你能不能只添加到您的CSS的网页:

#table_selected tbody tr:nth-child(odd){ background-color: green; } 
#table_selected tbody tr:nth-child(even){ background-color: yellow; } 

如果您需要的类,如阿伦P约翰尼拉暗示的意见,您更新这样的脚本:

$('#table_selected tbody').empty(); // empty the table 
$.ajax({ // fetch new data and insert into new rows 
    ... 
    success: function(data){ 
     $.each(data, function(i, array){ 
      $('#table_selected tbody').append('<tr><td>'+array['name']+'</td></tr>'); 
     }); 

     $("#table_selected tbody tr:nth-child(odd)").addClass("odd"); 
     $("#table_selected tbody tr:nth-child(even)").addClass("even"); 
    } 
}); 

或类似这样的(更类似于你的PHP的方式):

$('#table_selected tbody').empty(); // empty the table 
$.ajax({ // fetch new data and insert into new rows 
    ... 
    success: function(data){ 
     $.each(data, function(i, array){ 
      $('#table_selected tbody').append(
       $('<tr><td>' + array['name'] + '</td></tr>') 
        .addClass(i % 2 ? 'odd' : 'even') 
      ); 
     }); 
    } 
}); 
+0

您提供的第二种解决方案仅将该类添加到'table tbody'本身。但我使用'(i%2?'odd':'even')'代替这个:''。 – ThomasK