每个TH后的新行数

时间:2012-08-29 20:54:15

标签: jquery

我有一个包含几行的表和一些包含以下内容的表。是否有一种方法可以将样式应用于TD,就像在使用jQuery的每一行之后的奇数/偶数重启一样?

<table>
<tr>
  <th>header 1</th>
</tr>
<tr>
  <td>123</td>
</tr>
<tr>
  <td>445</td>
</tr>
<tr>
  <td>7899</td>
</tr>
<tr>
  <th>header 2</th>
</tr>
<tr>
  <td>asd</td>
</tr>
<tr>
  <td>ddd</td>
</tr>
<tr>
  <td>ggg</td>
</tr>
</table> 

2 个答案:

答案 0 :(得分:4)

var i = 0;

$('table tr').each(function() {

    if ($(this).is(':has(th)')) return i = 0;    
    $(this).children().addClass(i++ % 2 ? 'odd' : 'even');
});​

http://jsfiddle.net/u9hjA/

答案 1 :(得分:3)

尝试以下内容,

DEMO: http://jsfiddle.net/Tvyfz/2/

$(function () {
   var zc = 0;

   $('table tr').each (function (idx, el) {
      if ($(el).find('th').length != 0) {
         zc = 0;
      } else {
         $(el).addClass((++zc%2)?'even':'odd');
      }

   });
});

注意:您的标记没有正确关闭</tr>

编辑:次要清理。