detach与remove区别,以及detach保留被删除的元素数据,使用

detach() 会保留所有绑定的事件、附加的数据,这一点与 remove() 不同。

remove掉元素后,元素再也找不回了。但是detach还能找回来,还能保留下来。

实现方式如下代码:

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    var p;flag=1;
  $("button").click(function(){
    if(flag==1)
    {
      p=$("p").detach();
      flag=0;
    }
   else{
      flag=1;
      p.insertBefore("button");
   }
  });
});
</script>
</head>

<body>
<p>This is a paragraph.</p>
<button>删除 p 元素</button>
</body>
</html>

可见,detach方法会返回被删除元素的数据,可以赋值给一个变量,然后,插入到另一个元素前面。

原文地址:https://www.cnblogs.com/alsf/p/7640648.html