亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

jQuery DOM操作detach()和remove()區(qū)別

JQuery是一個(gè)很大強(qiáng)的工具庫,在工作開發(fā)中,有些方法因?yàn)椴怀S玫剑蚴菦]有注意到而被我們忽略。

remove()和detach()可能就是其中的一個(gè),可能remove()我們用得比較多,而detach()就可能會很少了

 通過一張對比表來解釋2個(gè)方法之間的不同

5.png

remove:移除節(jié)點(diǎn)

    無參數(shù),移除自身整個(gè)節(jié)點(diǎn)以及該節(jié)點(diǎn)的內(nèi)部的所有節(jié)點(diǎn),包括節(jié)點(diǎn)上事件與數(shù)據(jù)

    有參數(shù),移除篩選出的節(jié)點(diǎn)以及該節(jié)點(diǎn)的內(nèi)部的所有節(jié)點(diǎn),包括節(jié)點(diǎn)上事件與數(shù)據(jù)

detach:移除節(jié)點(diǎn)

    移除的處理與remove一致

    與remove()不同的是,所有綁定的事件、附加的數(shù)據(jù)等都會保留下來

例如:$("p").detach()這一句會移除對象,僅僅是顯示效果沒有了。但是內(nèi)存中還是存在的。當(dāng)你append之后,又重新回到了文檔流中。就又顯示出來了。

下面我們通過實(shí)例來詳細(xì)剖析:

<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>
   
    <p>元素p1,同時(shí)綁定點(diǎn)擊事件</p>
    <p>元素p2,同時(shí)綁定點(diǎn)擊事件</p>
    <h3>通過點(diǎn)擊2個(gè)按鈕后觀察方法處理的區(qū)別</h3>
    <button>點(diǎn)擊通過remove處理元素p1</button>
    <button>點(diǎn)擊通過detach處理元素p2</button>
</body>
<script type="text/javascript">
    //給頁面上2個(gè)p元素都綁定時(shí)間
    $('p').click(function(e) {
        alert(e.target.innerHTML)
    })

    $("button:first").click(function() {
        var p = $("p:first").remove();
        p.css('color','red').text('p1通過remove處理后,點(diǎn)擊該元素,事件丟失')
        $("body").append(p);
    });

    $("button:last").click(function() {
        var p = $("p:first").detach();
        p.css('color','blue').text('p2通過detach處理后,點(diǎn)擊該元素事件存在')
        $("body").append(p);
    });
</script>
</script>

</html>


Weiter lernen
||
<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> <p>元素p1,同時(shí)綁定點(diǎn)擊事件</p> <p>元素p2,同時(shí)綁定點(diǎn)擊事件</p> <h3>通過點(diǎn)擊2個(gè)按鈕后觀察方法處理的區(qū)別</h3> <button>點(diǎn)擊通過remove處理元素p1</button> <button>點(diǎn)擊通過detach處理元素p2</button> </body> <script type="text/javascript"> //給頁面上2個(gè)p元素都綁定時(shí)間 $('p').click(function(e) { alert(e.target.innerHTML) }) $("button:first").click(function() { var p = $("p:first").remove(); p.css('color','red').text('p1通過remove處理后,點(diǎn)擊該元素,事件丟失') $("body").append(p); }); $("button:last").click(function() { var p = $("p:first").detach(); p.css('color','blue').text('p2通過detach處理后,點(diǎn)擊該元素事件存在') $("body").append(p); }); </script> </script> </html>
einreichenCode zurücksetzen