我有这个表结构。
<table id="my_table">
<tr class="odd" id="row_1">
<td></td>
<td><input type="hidden" id="flight_1" value=""></td>
</tr>
<tr class="odd" id="row_2">
<td></td>
<td><input type="hidden" id="flight_2" value=""></td>
</tr>
<tr class="odd" id="row_3">
<td></td>
<td><input type="hidden" id="flight_3" value=""></td>
</tr>
<tr class="even" id="row_4">
<td></td>
<td><input type="hidden" id="flight_4" value=""></td>
</tr>
<tr class="even" id="row_5">
<td></td>
<td><input type="hidden" id="flight_5" value=""></td>
</tr>
<tr class="even" id="row_6">
<td></td>
<td><input type="hidden" id="flight_6" value=""></td>
</tr>
如何根据tr标签的类设置每行隐藏值的值。例如,我在表中有9行,其中3行为'odd',后3行为'even',后3行为'odd'。这可以是动态的,因为我可以在表格中来回交替排列5行,创建7行,类为“偶数”,7行为“奇数”类,然后返回“偶数”等。我需要做什么将每个类的隐藏值设置为第一个'奇数'类的“1”然后为下一个“偶数”类等的“2”。我试图使用jquery无效。我的jquery技能非常有限。这可能是使用jquery还是有其他解决方案?
答案 0 :(得分:0)
检查当前类是否等于前一个类,并增加一个计数器
var i = 0;
$('#my_table tr').each(function() {
if ( this.className != ($(this).prev().length ? $(this).prev().get(0).className : '')) i++;
$(this).find('input').val(i);
});