【问题标题】:Clean the previous elements after load replacement data with an ajax call使用 ajax 调用加载替换数据后清除先前的元素
【发布时间】:2013-04-01 12:28:55
【问题描述】:

我有一个页面,我正在使用 ajax 从数据库加载数据。该数据包含一些 html 代码,我将此代码放在名为 #container 的 div 中。我有一个分页器系统,所以如果我点击“下一步”按钮,ajax 会再次启动并获取 html 代码作为响应,然后将此代码替换为 #container 中的前一个代码。

我有这样的代码:

function loading_show() {
    $('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');
}
function loading_hide() {
    $('#loading').fadeOut('fast');
}
function loadData(page) {
    loading_show();

    $.ajax({
        type: "POST",
        url: "load_data.php",
        data: "page=" + page,
        success: function(msg) {
            $("#container").ajaxComplete(function(event, request, settings) {
                loading_hide();
                $("#container").html(msg);
            });
        }
    });
}

ajax 函数的结果是一条 HTML 消息。这条消息的一部分是这样的:

<span id="one_15" class="textzero">8002379154 - JKLM REPRESENTACIONES Y CIA LTDA</span> 

OO。所以..如果我再次进行 ajax 调用,我会得到另一个像这样的 html:

<span id="one_16" class="textzero">EXAMPLE TEXT</span> 

问题是,假设我想在textzeropreserv 之前加载之前对textzero 类做一些事情,就像这样:

texto2 = $('.textzero').text();

<span id="one_15" class="textzero">8002379154 - JKLM REPRESENTACIONES Y CIA LTDA</span>
<span id="one_16" class="textzero">EXAMPLE TEXT</span> 

问题: 有没有办法在使用 ajax 调用加载替换数据后清理以前的元素?

【问题讨论】:

  • `$("#container").ajaxComplete(...)` 实现了什么?这似乎是不必要的。
  • “清理以前的元素”是什么意思?可以用多种方式来解释,但对于问题的其余部分,没有任何一种方式具有任何意义。

标签: javascript jquery


【解决方案1】:

您可以调用$("#container").empty() 从该容器中删除所有子节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多