標籤:
1、detach()
- detach() 方法移除被選元素,包括所有文本和子節點。
- 這個方法會保留 jQuery 對象中的匹配的元素,因而可以在將來再使用這些匹配的元素。
- detach() 會保留所有綁定的事件、附加的資料,這一點與 remove() 不同。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> p{ margin: 6px; background: yellow; } p.off{ background: red; } </style></head><body> <p>hello</p> how are <p>you?</p> <button>按鈕</button></body><script src="libs/jquery-1.8.3.min.js"></script><script type="text/javascript"> $(function(){ $("p").click(function(){ $(this).toggleClass("off"); }) var p; $("button").click(function(){ if(p){ p.appendTo("body"); p = null; }else{ p = $("p").detach(); console.log(p); } }) });</script></html>
2、remove()
- 將匹配元素集合從DOM中刪除。
- 同時移除元素上的事件及 jQuery 資料。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> p{ margin: 6px; background: yellow; } p.off{ background: red; } </style></head><body> <p>hello</p> how are <p>you?</p> <button>按鈕</button></body><script src="libs/jquery-1.8.3.min.js"></script><script type="text/javascript"> $(function(){ $("p").click(function(){ $(this).toggleClass("off"); }) var p; $("button").click(function(){ if(p){ p.appendTo("body"); p = null; }else{ p = $("p").remove(); console.log(p); } }); //移除 =》加上,點擊沒反應,綁定的事件失效 });</script></html>
3、empty():移除匹配元素的所有子節點
4、unwrap():將匹配元素集合的父級元素刪除,保留自身(和兄弟元素,如果存在)在原來的位置。
jQuery基礎:remove()與 detach()區別