使用ajax调用加载替换数据后清除以前的元素

时间:2013-04-01 12:28:56

标签: javascript jquery

我有一个页面,我正在使用ajax从数据库加载数据。该数据包含一些HTML代码,我将此代码放在名为#container的div中。我有一个paginator系统,所以如果我点击“next”按钮,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> 

问题是,如果我想在textzerotextzero之前加载preserv类,那么以前的ajax数据是这样的:

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调用加载替换数据后清理以前的元素?

1 个答案:

答案 0 :(得分:0)

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