【发布时间】: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>
问题是,假设我想在textzero 类preserv 之前加载之前对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