使用jquery删除表列和标题,表格包含行间距和字符串

时间:2012-05-19 12:35:02

标签: jquery

我有一个表,需要使用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及其列内容,但<th>:C-2也被删除了,请帮忙。

1 个答案:

答案 0 :(得分:1)

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

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

<强>解释

排除C-2的选择器为tr:first-child > th:nth-child(2)。告诉jQuery的事情是find the first tr然后是find the 2nd th>是指th内部(或子项)的tr。当C-2位于第二tr时,它被排除在外。如果这对您有意义,请告诉我。我不擅长写作。

Working demo

可更改所需元素的颜色。改为在代码中使用remove。