如何在元素完成后重置变量

时间:2015-02-23 14:52:41

标签: jquery

嗨,我为了根据tr和td类制作一些自定义css,我制作了一些代码,这是我的代码

jQuery(document).ready(function($){
$("#data tr:nth-child(odd)").addClass("two");
$("#data tr:nth-child(even)").addClass("one");  
event.preventDefault();
$('.two').each(function(){
var i=1;
$('.two > td').each(function(){
$(this).addClass('d'+i);
i=i+1;
});
});
});

这就是我得到的,如果我有超过一个类=“两个”

<table id="data">
<tr class="two">
<td class="d1">some text here</td>
<td class="d2">some text here</td>
</tr>
<tr class="one">
<td></td>
</tr>
<tr class="two">
<td class="d3">text here</td>
<td class="d4">text here</td>
</tr>
</table>

这就是我想要的东西

<table id="data">
<tr class="two">
<td class="d1">some text here</td>
<td class="d2">some text here</td>
</tr>
<tr class="one">
<td></td>
</tr>
<tr class="two">
<td class="d1">text here</td>
<td class="d2">text here</td>
</tr>
</table>

1 个答案:

答案 0 :(得分:0)

你可以做到

$("#data tr:nth-child(odd)").addClass("two");
$("#data tr:nth-child(even)").addClass("one");
$('.two td').addClass(function () {
    return 'd-' + (this.cellIndex + 1)
});

您需要迭代当前td

tr
$("#data tr:nth-child(odd)").addClass("two");
$("#data tr:nth-child(even)").addClass("one");
event.preventDefault();
$('.two').each(function () {
    var i = 1;
    $('td', this).each(function () {
        $(this).addClass('d' + i);
        i = i + 1;
    });
});