我要做的是:我有一张看起来像这样的桌子
<table>
<tr class="warning">
<input type="hidden" name="ID[]" value="1" />
<td>warning</td>
</tr>
<tr>
<td>
<a href="#" class="editField">edit</a>
</td>
</tr>
<tr>
<td>
<a href="#" class="editField">edit</a>
</td>
</tr>
<tr>
<td>
<a href="#" class="editField">edit</a>
</td>
</tr>
<tr class="warning">
<input type="hidden" name="ID[]" value="2" />
<td>warning</td>
</tr>
<tr>
<td>
<a href="#" class="editField">edit</a>
</td>
</tr>
</table>
对于每个警告tr
,都有一个带有特定ID的隐藏输入。
我试过了:
$.each($('a.editField'), function(i,obj){
console.log($(obj).parent().parent().prevAll('tr.warning').find('[name="ID[]"]').val());
});
但它正在记录表中的第一个warning
tr
,因此日志将是ID 1的四倍,
它应该是三次ID 1和一次ID 2。
JsFiddle:http://jsfiddle.net/dLp7b/
答案 0 :(得分:1)
你刚刚失踪:first
。这会给你第一个最亲近的兄弟。
$.each($('a.editField'), function(i,obj){
console.log($(obj).parent().parent().prevAll('tr.warning:first').find('[name="ID[]"]').val());
});