table tr:仅限nth-child的父级别

时间:2016-04-15 16:52:28

标签: jquery html

我有嵌套表试图隐藏顶级行。但它也隐藏了嵌套表行子。怎么能只隐藏顶级行?

<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();
 });

1 个答案:

答案 0 :(得分:3)

您必须在此背景下使用child selector

$("table.ms-formtable > tbody > tr:nth-child(3)").hide();

您正在使用descendant selector。这将选择嵌套的tr元素。此外,在使用类定位元素时无需使用attribute equals selector。你可以在那里使用类选择器。

您必须添加tbody作为您表格的直接子项。这是有效的结构。否则HTML将被视为无效,没有tbody的选择器将无法工作,因为浏览器将自动插入一个t ..