【发布时间】:2014-02-10 15:30:40
【问题描述】:
我在 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>-元素中 - 就像我在 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");
【问题讨论】:
-
$("#table_selected tbody tr:nth-child(odd)").addClass("odd"); $("#table_selected tbody tr:nth-child(even)").addClass("even");在每个循环之后 -
odd和even类的用途是什么?如果它是纯粹的样式,那么可能有一个纯 CSS 解决方案,可以消除对 PHP 和 JavaScript 的需求。 -
只有 CSS 方法可以做到这一点,但它在 IE8 或更低版本中不起作用。例如在 CSS 中放 tr:nth-child(odd) {background-color:#333;}
-
这纯粹是为了为每一行应用不同的样式..这太容易了,我很尴尬..我想错了方向......谢谢@Arun
标签: javascript jquery arrays tablerow