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-2は ですtr:first-child > th:nth-child(2)。それがjQueryに伝えていることはfind the first trfind the 2nd th. は、の内部 (または子)>を検索することを意味します。2番目のように、除外されています。それがあなたにとって意味があるかどうか教えてください。私は文章を書くのがあまり得意ではありません。thtrC-2tr

ワーキングデモ

目的の要素の色を変更します。コードでは代わりに remove を使用してください。

于 2012-05-19T12:44:56.177 に答える