Javascript 使用“分离”后无法添加回html元素
在我使用remove函数删除html之后,我正在尝试重新添加元素。由于某种原因,当我调用add函数时,remove变量会丢失HTMLDOM。如果我把remove.inserta放在'element'后面;除了ajaxSuccess之外,它还能工作。我使用ajaxSuccess是因为我希望ajax在再次向用户显示元素之前先完成Javascript 使用“分离”后无法添加回html元素,javascript,jquery,html,Javascript,Jquery,Html,在我使用remove函数删除html之后,我正在尝试重新添加元素。由于某种原因,当我调用add函数时,remove变量会丢失HTMLDOM。如果我把remove.inserta放在'element'后面;除了ajaxSuccess之外,它还能工作。我使用ajaxSuccess是因为我希望ajax在再次向用户显示元素之前先完成 var remove; function remove() { //there is a ajax call here $(documen
var remove;
function remove() {
//there is a ajax call here
$(document).ajaxSuccess(function() {
remove = $('#myDiv').detach(); //or should I use remove()?
});
}
function add() {
//there is an ajax call here
$(document).ajaxSuccess(function() {
remove.insertAfter('#main');
});
}
<div id="main">
<div id="myDiv">
</div>
</div>
根据api文件 它声明使用detach将保留与已删除元素关联的所有jQuery数据
在您的情况下,可能是在ajax调用之后DOM还没有准备好,请尝试在添加元素时将操作延迟几秒钟,然后看看它是否有效。我的意思是取消将元素添加回DOM的操作。只是一个建议为什么所有的东西都被包装在ajaxSuccess处理程序中,这不是解决问题的方法!同时发布ajax代码!