Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用“分离”后无法添加回html元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用“分离”后无法添加回html元素

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

在我使用remove函数删除html之后,我正在尝试重新添加元素。由于某种原因,当我调用add函数时,remove变量会丢失HTMLDOM。如果我把remove.inserta放在'element'后面;除了ajaxSuccess之外,它还能工作。我使用ajaxSuccess是因为我希望ajax在再次向用户显示元素之前先完成

    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代码!