欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談jquery中detach()和remove()的區(qū)別

 更新時(shí)間:2017年03月02日 08:56:54   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇老生常談jquery中detach()和remove()的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

JQuery是一個(gè)很大強(qiáng)的工具庫(kù),在工作中開(kāi)發(fā)中,可是有些方法還是因?yàn)椴怀S玫?,或是沒(méi)有注意到而被我們而忽略。

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

通過(guò)一張對(duì)比表來(lái)解釋2個(gè)方法之間的不同

方法名

參數(shù)

事件及數(shù)據(jù)是否也被移除

元素自身是否被移除

remove

支持選擇器表達(dá)

是(無(wú)參數(shù)時(shí)),有參數(shù)時(shí)要根據(jù)參數(shù)所涉及的范圍

detach

參數(shù)同remove

情況同remove

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

- 無(wú)參數(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ù)等都會(huì)保留下來(lái)

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

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>
<h3>給頁(yè)面2個(gè)p元素節(jié)點(diǎn)綁定點(diǎn)擊事件,點(diǎn)擊后彈出自己本身的節(jié)點(diǎn)內(nèi)容</h3>

<p>元素p1,同時(shí)綁定點(diǎn)擊事件</p>

<p>元素p2,同時(shí)綁定點(diǎn)擊事件</p>

<h3>通過(guò)點(diǎn)擊2個(gè)按鈕后觀(guān)察方法處理的區(qū)別</h3>
<button>點(diǎn)擊通過(guò)remove處理元素p1</button>
<button>點(diǎn)擊通過(guò)detach處理元素p2</button>
</body>
<script type="text/javascript">
  //給頁(yè)面上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').html('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失')
    $("body").append(p);
  });

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

</html >

以上這篇老生常談jquery中detach()和remove()的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論