5

テーブル データ ID に基づいてテーブルからいくつかのテーブル行を非表示にしたいのですが、テーブル データ値に基づいてテーブル行を非表示にする方法しか見つかりませんでしたが、それは (私の場合) 解決策ではありません。

たとえば、これが私のテーブルだとしましょう:

<table id='table1' border="1">
<tr id='hideme'>
<td id='letmehide'>row 1, cell 1</td>
<td id='letmehide'>row 1, cell 2</td>
</tr>
<tr id='donthideme'>
<td id='dontletmehide'>row 2, cell 1</td>
<td id='dontletmehide'>row 2, cell 2</td>
</tr>
</table>

私のjavascript / JQueryはどのように見えるべきですか? フィドル: http://jsfiddle.net/twyqS/

4

7 に答える 7

8

ID はページ上で一意でなければならないことを考慮してください。そのため、ID の代わりに CSS クラスを使用することをお勧めします。

HTML

<table id='table1' border="1">
<tr class='hideme'>
<td class='letmehide'>row 1, cell 1</td>
<td class='letmehide'>row 1, cell 2</td>
</tr>
<tr class='donthideme'>
<td class='dontletmehide'>row 2, cell 1</td>
<td class='dontletmehide'>row 2, cell 2</td>
</tr>
</table>

JS

$('#table1 .hideme').hide();

これにより、必要に応じて複数の行を非表示にすることができます。

于 2013-08-14T13:40:38.337 に答える
2

まず第一に、jQuery を使用していることです。jQuery を使用してイベント ハンドラーをアタッチします。これにより、はるかにセマンティックな HTML が生成され、懸念事項がより適切に分離されます。

あなたの問題に関しては、:firstセレクターを使用して最初のtr要素を取得し、次にhide()関数を取得する必要があります。

$('#table1 tr:first').hide();

または、一意であることを意図しているため、idの を使用することもできます。tr

$('#hideme').hide();

jQuery API、特に使用可能なセレクターに慣れることをお勧めします

于 2013-08-14T13:42:15.240 に答える
1

これを試して:

$('#table1 tr[id="hideme"]').hide();//in table1 hide tr that are with attribute id="hideme"
于 2013-08-14T13:43:08.433 に答える
1

要素の ID は一意である必要があるため、要素では ID の代わりに class 属性を使用してください

試す

<table id='table1' border="1">
    <tr class='hideme'>
        <td class='letmehide'>row 1, cell 1</td>
        <td class='letmehide'>row 1, cell 2</td>
    </tr>
    <tr class='donthideme'>
        <td class='dontletmehide'>row 2, cell 1</td>
        <td class='dontletmehide'>row 2, cell 2</td>
    </tr>
</table>

それから

$('#table1 tr:has(td.letmehide)').hide()

デモ:フィドル

于 2013-08-14T13:43:18.390 に答える
1

$("#letmehide").parent().hide();

于 2013-08-14T13:43:34.817 に答える