jquery 如何清空div

c0vxltue  于 2022-11-03  发布在  jQuery
关注(0)|答案(5)|浏览(117)

我需要当用户点击“div_id”时,div将为null或空-我不想隐藏它。.empty()不起作用-div只是快速闪烁并停留在屏幕上:

$(div_id).click(function () {
    $(div_id).empty();
});

这是我的全部代码:

function paintOrders(items) {

    var container =
        '<table border="2">' +
    $.each(items, function () {
            div_id = '#div_' + this.SHIPMENT;
            container += '<tr>' + '<td>' + div_id + '--' + this.CUSTOMER_NAME + '</td>' + '</tr>';
    });
    container += '</table>';

    $(div_id).click(function () {
        $(div_id).empty();
    });
    $(div_id).append(container);
    $(div_id).html(container);
}

当我使用.empty.html时,div会闪烁。可能是什么问题?

sczxawaw

sczxawaw1#

.empty()应该删除子节点,请尝试.html('');
如果您要动态添加div,则必须使用.live而不是.click:

$(div_id).live('click', function () {
        $(div_id).empty();
    });
66bbxpm5

66bbxpm52#

您可以使用html()并将其值设置为空

$(div_id).click(function () {
             $(div_id).html("");
      });
jmo0nnb3

jmo0nnb33#

.empty()工作正常:http://jsfiddle.net/KXRCj/
您只需要用途:

$(div_id).click(function() {
    $(this).empty();
});
vaj7vani

vaj7vani4#

$(div_id).click(function () {
    $(div_id).html("");
});
8gsdolmq

8gsdolmq5#

我认为您加载了div的内容两次,一次用“append”,另一次用“html”,没有必要两次都加载。

相关问题