如何清空div

时间:2011-11-26 00:50:08

标签: javascript jquery javascript-events

我需要当用户点击'div_id'div为空或空时 - 我不想隐藏它。     .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眨眼......可能是什么问题?

5 个答案:

答案 0 :(得分:2)

.empty()应该删除子节点,请改为.html('');

如果您要动态添加div,则必须使用.live而不是.click:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

.empty()效果很好:http://jsfiddle.net/KXRCj/

你只需要使用:

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

答案 4 :(得分:-2)

我认为你正在加载div的内容两次,一次是“追加”,另一次是“html”。两者都没有必要。