我有嵌套表试图隐藏顶级行。但它也隐藏了嵌套表行子。怎么能只隐藏顶级行?
<table class='ms-formtable'>
<tr></tr>
<tr>
<table>
<tr></tr>
<tr></tr>
<tr></tr> // it is hide this row also
</table>
</tr>
<tr></tr> // just need to hide only this row
<tr></tr>
</table>
代码
<script type="text/javascript">
$(document).ready(function() {
$("table[class='ms-formtable'] tr:nth-child(3)").hide();
});
答案 0 :(得分:3)
您必须在此背景下使用child selector
,
$("table.ms-formtable > tbody > tr:nth-child(3)").hide();
您正在使用descendant selector
。这将选择嵌套的tr
元素。此外,在使用类定位元素时无需使用attribute equals selector
。你可以在那里使用类选择器。
您必须添加tbody
作为您表格的直接子项。这是有效的结构。否则HTML将被视为无效,没有tbody的选择器将无法工作,因为浏览器将自动插入一个t ..