Jquery:如何在添加新内容之前清除元素?

时间:2012-12-11 14:53:36

标签: jquery-ui

这是我的jquery代码

 $.ajax({
   url: "PopUpProductDetails.aspx",
            cache: false
     }).done(function (html) {
     $("#dialog").append(html);
 });

第一次,它运作得很好。它显示 PopUpProductDetails.aspx 页面的内容。但是,在那之后,如果我再次点击,我得到两倍相同的内容,依此类推。我认为问题是我需要先添加对话框元素,然后才能添加新内容。

我该怎么做?

4 个答案:

答案 0 :(得分:57)

.append()将html附加到现有html字符串的末尾,使用.html()替换当前#dialog内的内容。

答案 1 :(得分:19)

在函数内部先清除对话框,然后填写内容

$.ajax({
   url: "PopUpProductDetails.aspx",
            cache: false
     }).done(function (html) {
     $("#dialog").html("");
     $("#dialog").html(html);
 });

答案 2 :(得分:5)

您可以先使用.empty(),然后在一行中使用.append():)

像这样:

$.ajax({
  url: "PopUpProductDetails.aspx",
        cache: false
    }).done(function (html) {
    $("#dialog").empty().append(html);
});

答案 3 :(得分:0)

如果您需要先清除对话框,请使用 .empty(),它比 .html(“”)

请参阅Jquery Difference .html("") vs .empty()