如何通过选择以下HTML中具有跨度的tr
来获得最高级别的<table>
<tr><!-- THIS ONE -->
<td>
<table>
<tr>
<td><span></span></td>
</tr>
</table>
</td>
<td><span></span></td>
</tr>
<tr><!-- AND THIS ONE -->
<td><span></span></td>
<td><span></span></td>
</tr>
</table>
:
$('table span').parent('tr:last')
类似于:
{{1}}
但遗憾的是,这只会返回一个单词......
答案 0 :(得分:4)
使用:has选择器例如。 table#topmost > tr:has(span)
答案 1 :(得分:0)
您的HTML无效。您实际上从未打开<tr>
代码,只是尝试关闭它们(</tr>
)。
答案 2 :(得分:0)
大概:
$('table span').parentsUntil('tr');
但这不起作用,因为你对这种格式化TRs的方式是兄弟姐妹,而不是父母
因此,在这种情况下......将您的HTML更改为 -
<table>
<tr>
<td>
<table>
<tr>
<td><span></span></td>
</tr>
</table>
</td>
<td><span></span></td>
</tr>
<tr>
<td><span></span></td>
<td><span></span></td>
</tr>
</table>
并且上面的javascript会有效。
答案 3 :(得分:0)
$(document).ready(function() {
$('table span').each(function(){
//do something with each tr you find
$(this).parents('tr:last');
});
});
答案 4 :(得分:0)
在我看来,最高级别将始终位于最顶层的表中,因此您只需检查这些行
$('#topmost-table>tr:has(span)').stuff();
<table id="topmost-table">
<tr>
<td>
<table>
<tr>
<td><span></span></td>
</tr>
</table>
</td>
<td><span></span></td>
</tr>
<tr>
<td><span></span></td>
<td><span></span></td>
</tr>
</table>