我有一张这样的表
alert($("#space_bet3").prev().prev().attr("id")) // undefined error
alert($("#space_bet3").prev("#space_bet2").attr("id")) // undefined error
我想在space_bet3之前找到td,我试过prev()方法但是它无论如何都不起作用
$('div.panel-heading').addClass('unread').removeClass('ifyouneedany');
我做错了什么?如何在space_bet3之前找到id,谢谢
答案 0 :(得分:2)
由于元素<td>
之前没有兄弟(#space_bet3
),因此prev()
将返回空集。
<tr>
祖先<tr>
兄弟<td>
id
属性值。<强>码强>
$('#space_bet3')
.closest('tr') // Get first ancestor `<tr>` element
.prev() // Get previous element
.children('td') // Get direct descendant `<td>` element
.attr('id'); // Get `id` of the element
var id = $('#space_bet3')
.closest('tr') // Get first ancestor `<tr>` element
.prev() // Get previous element
.children('td') // Get direct descendant `<td>` element
.attr('id'); // Get `id` of the element
console.log(id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table>
<tr>
<td id="space_bet1" height="10"></td>
</tr>
<tr>
<td id="unscr1">Today</td>
</tr>
<tr>
<td id="space_bet2" height="10"></td>
</tr>
<tr>
<td id="unscr2">Tomorrow</td>
</tr>
<tr>
<td id="space_bet3" height="10"></td>
</tr>
<tr>
<td id="unscr3">Yesterday</td>
</tr>
<tr>
<td id="space_bet4" height="10"></td>
</tr>
<tr>
<td id="unscr4">next week</td>
</tr>
<tr>
<td id="space_bet5" height="10"></td>
</tr>
<tr>
<td id="unscr5">next month</td>
</tr>
<tr>
<td id="space_bet6" height="10"></td>
</tr>
</table>
答案 1 :(得分:0)
您可以尝试以下方法: -
$('#space_bet3').parent('tr').prev().find('td').attr("id");
它可能对你有帮助。