0

我有一个表,需要使用 jquery 删除它的列。使用它但它会删除所有标题,但我希望只删除第一行标题。

   <table border="2" style="border-collapse:collapse;">
    <tr>
    <tr>
           <th rowspan="2">#</th>
           <th rowspan="2">A</th> 
           <th rowspan="2">B</th>
           <th rowspan="1" colspan="3">C</th>
    </tr>
<tr>

           <th>C-1</th>
           <th>C-2</th> 
           <th>C-3</th>
</tr>

<tr>

           <td>CONTENT</td>
           <td>CONTENT</td>
           <td>CONTENT</td>        
           <td>CONTENT</td>
           <td>CONTENT</td> 
           <td>CONTENT</td> 
</tr>


</table>

我需要删除列 A 及其相应的 tds ,所以我正在使用:

$('tr td:nth-child(2), tr th:nth-child(2)').remove();

它删除了 TH-A 及其列 CONTENT 但<th>:C-2 也被删除了,请帮助。

4

1 回答 1

1

tr首先,您的代码顶部有一个额外的。删除它,然后你可以使用 first-child选择器来完成你想要的这个特定的 html 结构,像这样

$('tr td:nth-child(2), tr:first-child > th:nth-child(2)').remove();​

解释

排除的选择器C-2tr:first-child > th:nth-child(2). 它告诉 jQuery 的事情是find the first trthen find the 2nd th>意思是查找th哪些在内部(或 的子级)tr。与C-2第二个tr一样,它被排除在外。让我知道这对你是否有意义。我不是很擅长写作。

工作演示

这会改变您想要的元素的颜色。在您的代码中使用 remove 代替。

于 2012-05-19T12:44:56.177 回答