1

jQueryで削除したい別のテーブルを含むテーブルがあります。このテーブルは元のテーブルの行の1つにあり、実際にその行を削除したいと思います。元のテーブルは、tableという名前のjQueryオブジェクトです。

<table>
<tbody>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td colspan="3">
            <table>
                <tbody>
                    <tr>
                        <td></td>
                        <td></td>   
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>      
                    </tr>
                </tbody>
            </table>
        </td>
    </tr>
</tbody></table>

次の4つの例のようにさまざまな方法を試しましたが、成功しませんでした。

if ($(table).is('tr')){
    if (('tr').(':has(table)') $('tr').remove(); 
}

if ($(table, 'tr').has('table')) {
    $(table).find('table').remove();
};

if ($(table, 'tr').has('table')) {
    $('tr').remove();
};

$(table, 'tr').siblings().children('table').remove();

正しい方向に進んでいるのか、完全に間違った木を吠えているのかわかりません!!

任意の提案をいただければ幸いです。

4

4 に答える 4

0

これが私が思いついたものです

​$('table').find('table').parents('tr').remove()​​​;

jsFiddle

于 2012-12-16T13:59:36.297 に答える
0

作成時に行に ID を付与すると、後で削除するのが非常に簡単になり、DOM 検索がより効率的になります。

于 2012-12-16T14:28:20.740 に答える
0

これはテスト済みで、正常に動作しています:

http://jsfiddle.net/2JfhA/

$('table').find('table').closest('tr').remove();

これが何をしているのか:first get the first tableそしてそのthen find and child table中で、そしてremove the closest trこのテーブルを持っているのはどれですか。

フィドルをチェックアウトします。

于 2012-12-16T14:56:22.550 に答える
-1

これで十分でしょう

$(table).find('table').parents("tr").eq(0).remove();

ネストされたテーブルがない場合、削除するものがないため、「if」は必要ありません。

于 2012-12-16T13:58:02.287 に答える