我有一个表,需要使用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也被删除了,请帮忙。
答案 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
时,它被排除在外。如果这对您有意义,请告诉我。我不擅长写作。
可更改所需元素的颜色。改为在代码中使用remove。