jQuery基礎:remove()與 detach()區別

來源:互聯網
上載者:User

標籤:

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()區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.