3

いくつかの行と次のいくつかの行を持つテーブルがあります。jQueryを使用してTHを含むすべての行の後に奇数/偶数の再起動のようにTDにスタイルを適用する方法はありますか?

<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> 
4

2 に答える 2

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/

于 2012-08-29T21:04:11.767 に答える
3

以下のようなものを試してください、

デモ: 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>

編集:マイナークリーンアップ。

于 2012-08-29T21:05:29.347 に答える