1

我有一个名为的变量$reservas,它包含一个带有 HTML 表的字符串。.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'); 任何效果。有什么建议么?

有什么方法可以告诉 jQuery 该变量包含 html 内容,并且应该被解析为那个?如果是这样,怎么做?..

4

2 回答 2

3

将字符串转换为 jQuery 对象后,它现在是 jQuery 对象中保存的一系列 DOM 对象(在文档片段中)。删除该.tdRemove片段中的对象后,您可以直接将其附加到您的 DOM。无需返回 HTML:

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

此外,您的代码不起作用,因为$reservasHTML 字符串从未被修改过。

于 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 回答