我有一个链接列表,点击与ajax的相应链接获取相应的文件。
假设我在“pages”文件夹中有一些名为a.php和b.php的文件。按下第一个链接后,我从文件a.php获取所有数据,同样适用于b.php。
问题在于,如果我首先打开a.php并用这行代码填充div:
$("#content").html(data);
然后我打开文件b.php并用我从第二个文件获得的新数据覆盖以前创建的数据,然后来自文件a.php的事件监听器不会被覆盖。
那么我怎么能解决这个问题呢?谢谢。
------------------ EDIT ----------------------
这是我用来获取数据的功能
function openPage()
{
var targetPage = $(this).data("page-file-name");
$("#loader").css("display", "block");
$.ajax(
{
method: "GET",
url: "pages/"+targetPage
}).done(function(data)
{
$("#container *").remove();
$("#container").html(data);
$("#loader").css("display", "none");
});
}
答案 0 :(得分:1)
您需要使用jQuery.remove
方法删除所有现有DOM节点以及数据和事件。之后使用html
方法插入新的DOM节点。