1

$reservasHTML テーブルを含む文字列を含むこの変数を呼び出します。テーブルの一部を削除したい ( .tdRemove)、それらを div に割り当てる前に#cenas

if ($reservas){
    $($reservas).find('.tdRemove').each(function(){
        console.log($(this).html());
        $(this).remove();
    });
    $("#cenas").html($reservas);
}

これを試しましたが、何も削除されていないようです。私も試しました: $($reservas).find('.tdRemove').remove();そして$($reservas).remove('.tdRemove'); 何も機能しません。助言がありますか?

変数がhtmlコンテンツを保持し、そのように解析する必要があることをjQueryに伝える方法はありますか? もしそうなら、どのように?..

4

2 に答える 2

3

文字列を jQuery オブジェクトに変換すると、jQuery オブジェクトに保持される一連の DOM オブジェクト (ドキュメント フラグメント内) になります。そのフラグメント内のオブジェクトを削除した後.tdRemove、DOM に直接追加することができます。HTML に戻る必要はありません。

if ($reservas){
    var item = $($reservas);
    item.find('.tdRemove').remove();
    $("#cenas").empty().append(item);
}

$reservasまた、 HTML の文字列が変更されていないため、コードが機能しませんでした。

于 2013-03-08T16:22:50.877 に答える
0

ドキュメントに書かれていることから、あなたremove()はすでにDOM内にあるものしかできないと思います。

一致した要素のセットをDOMから削除します。

最初にテーブルを追加したい場合は、?に設定します。display:none`、次に削除する要素をフィルタリングし、最後にテーブルを表示します。

if ($reservas) {
    $("#cenas")
        .hide()
        .html($reservas)
        .find('.tdRemove').each(function(){
            console.log($(this).html());
            $(this).remove();
        })
        .show();
}
于 2013-03-08T16:19:42.920 に答える