您好,登錄后才能下訂單哦!
JQuery是一個很大強的工具庫,在工作中開發中,可是有些方法還是因為不常用到,或是沒有注意到而被我們而忽略。
remove()和detach()可能就是其中的一個,可能remove()我們用得比較多,而detach()就可能會很少了
通過一張對比表來解釋2個方法之間的不同
方法名 |
參數 |
事件及數據是否也被移除 |
元素自身是否被移除 |
remove |
支持選擇器表達 |
是 |
是(無參數時),有參數時要根據參數所涉及的范圍 |
detach |
參數同remove |
否 |
情況同remove |
remove:移除節點
- 無參數,移除自身整個節點以及該節點的內部的所有節點,包括節點上事件與數據
- 有參數,移除篩選出的節點以及該節點的內部的所有節點,包括節點上事件與數據
detach:移除節點
- 移除的處理與remove一致
- 與remove()不同的是,所有綁定的事件、附加的數據等都會保留下來
- 例如:$("p").detach()這一句會移除對象,僅僅是顯示效果沒有了。但是內存中還是存在的。當你append之后,又重新回到了文檔流中。就又顯示出來了。
eq:
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <style type="text/css"> p { border: 1px solid red; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <h4>給頁面2個p元素節點綁定點擊事件,點擊后彈出自己本身的節點內容</h4> <p>元素p1,同時綁定點擊事件</p> <p>元素p2,同時綁定點擊事件</p> <h4>通過點擊2個按鈕后觀察方法處理的區別</h4> <button>點擊通過remove處理元素p1</button> <button>點擊通過detach處理元素p2</button> </body> <script type="text/javascript"> //給頁面上2個p元素都綁定時間 $('p').click(function (e) { alert(e.target.innerHTML) }) $("button:first").click(function () { var p = $("p:first").remove(); p.css('color', 'red').html('p1通過remove處理后,點擊該元素,事件丟失') $("body").append(p); }); $("button:last").click(function () { var p = $("p:first").detach(); p.css('color', 'blue').text('p2通過detach處理后,點擊該元素事件存在') $("body").append(p); }); </script> </script> </html >
以上這篇老生常談jquery中detach()和remove()的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。