我的表格如下:
<table>
<tr>...</tr>
<tr class="gotChild">...</tr>
<tr class="gotParent">...</tr>
<tr>...</tr>
<tr>...</tr>
<tr class="gotChild">...</tr>
<tr class="gotParent">...</tr>
<tr class="gotParent">...</tr>
<tr class="gotParent">...</tr>
<tr class="gotParent">...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr class="gotChild">...</tr>
<tr class="gotParent">...</tr>
<tr class="gotParent">...</tr>
</table>
在.gotParent
行内(显然)是表格单元格,里面有按钮。单击它时,我想影响最近的.gotChild
表格行。
如果.gotChild
是前一行的直接行,那就很容易了,我使用:
$('.button').on('click', function() {
var gotChild = $(this).parent().parent().prev('.gotChild');
}
但如果前一行有.gotParent
行,则此功能无效。
使用.prevAll()
会影响所有.gotChild
行(应该只是它找到的第一行。
使用.prevUntill()
会影响所有只会影响.gotChild
行的表格行。
如何定位此特定行?
答案 0 :(得分:3)
您可以使用以下代码选择最近的兄弟姐妹:
var gotChild = $(this).parent().parent().prevAll(".gotChild:first");
答案 1 :(得分:0)
$(this).prevAll(".gotChild").eq(0);
只会选择第一个匹配值