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

Ric*_*d77 31 jquery-ui

这是我的jquery代码

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

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

我怎么做?

pac*_*age 61

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

  • 注意:`append()`不仅适用于包含HTML的字符串,而`.html()`仅适用于包含HTML的字符串. (4认同)

Ras*_*bel 20

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

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


Ahm*_*awy 9

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

像这样:

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