亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解jQuery中的empty、remove和detach

2019-11-20 10:16:42
字體:
來源:轉載
供稿:網友

 通過一張對比表來解釋幾個方法之間的不同

三者都有把元素移除的作用,但細微的差別,造就了它們的使命不同。

最權威的解釋當然是jQuery_API咯,下面是API中關于他三兒的部分截取。

一、empty:

This method removes not only child (and other descendant) elements, but also any text within the set of matched elements. This is because, according to the DOM specification, any string of text within an element is considered a child node of that element.To avoid memory leaks, jQuery removes other constructs such as data and event handlers from the child elements before removing the elements themselves. If you want to remove elements without destroying their data or event handlers (so they can be re-added later), use .detach() instead.

注意:加粗的部分,通過empty移除后代元素,會移除其事件的。

為什么呢?

防止內存泄露!??!

二、remove:

Similar to .empty(), the .remove() method takes elements out of the DOM. Use .remove() when you want to remove the element itself, as well as everything inside it. In addition to the elements themselves, all bound events and jQuery data associated with the elements are removed. To remove the elements without removing data and events, use .detach() instead.

remove和empty方法一樣,都會移除元素的事件句柄,從而避免內存泄露。

區別:remove包含了移除事件本身,而empty是后代元素。

三、detach:

從empty和remove的介紹中(英文斜體部分),可以或多或少得知,detach是不會移除事件句柄的。

那么我們再來看看詳細的API講解:

The .detach() method is the same as .remove(), except that .detach() keeps all jQuery data associated with the removed elements. This method is useful when removed elements are to be reinserted into the DOM at a later time.

咦,什么意思?

看了detach的注解,不知道大家有沒有眼前一亮,detach不能用來刪除廢棄的元素。

為什么呢?

因為它保留了事件驅動嘛,這樣不就會造成內存泄露么。

所以要刪除以后不再利用的元素時,使用empty或者remove。

那要detach有何用?

用處大了。

當我們要對一個元素進行大規模的增刪改的時候,我們可以用detach將這個元素提取出來,然后在這個元素上進行操作,而不是在整個dom文檔中進行操作。

好處就是:減少對整個dom文檔的修改,從而減少頁面重繪;而且對整個dom文檔進行操作,在ie下還可能會造成內存泄露哦。所以穩妥起見,還是利用detach這一神器吧。

下面是一個demo,首先對#container元素綁定click事件(事件委托),然后利用detach將其脫離文檔,然后再創建兩個child元素,追加到#container元素中,最后將#container重新添加到body后。

<!DOCTYPE html> <head><title>jQuery</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><style>div.monkey, #container {width:120px;height:120px;line-height:60px;}div.monkey {border:1px solid black;} </style></head><body><div class="monkey"> </div><div id="container"> </div><script src="jquery-1.12.0.js"></script><script>$(function(){//事件代理$('#container').on('click',function( event ){console.log( $(event.target).text() );});//利用detach將container從dom文檔中剝離開var container = $('#container').detach();var child1 = '<div>I am Monkey</div>';var child2 = '<div>Monkey is me</div>';//將child1、child2插入container中$(container).append( child1 ).append( child2 );//將container重新插入body中 $('body').append( container );}); </script></body></html> 

以上所述是小編給大家介紹的jQuery中的empty、remove和detach的區別,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品天天狠天天看| www亚洲欧美| 欧美日韩午夜剧场| 最近中文字幕mv在线一区二区三区四区| 久久精品国产99国产精品澳门| 欧美国产第一页| 91在线观看免费高清| 欧美黄色小视频| 伊人男人综合视频网| 亚洲欧洲自拍偷拍| 日韩欧美中文字幕在线观看| 日韩av在线最新| 亚洲福利视频在线| 欧美猛少妇色xxxxx| 日韩欧美福利视频| 中文字幕久久久av一区| 国产精品高潮呻吟久久av无限| 7777精品视频| 大桥未久av一区二区三区| 国产精品无码专区在线观看| 日韩免费看的电影电视剧大全| 亚洲国产天堂久久综合网| 亚洲网站视频福利| 精品国产精品三级精品av网址| 性色av一区二区咪爱| 久久精品视频免费播放| 欧美超级乱淫片喷水| 久久精品国产清自在天天线| 中文国产成人精品久久一| 国产精品人成电影| 亚洲精品福利资源站| 欧美一区深夜视频| 亚洲毛片在线观看| 日韩精品免费在线| 国产成人涩涩涩视频在线观看| 色天天综合狠狠色| 国产成人中文字幕| 日韩欧美中文第一页| 国产精品久久久久久搜索| 97成人精品区在线播放| 中文.日本.精品| 国产精品成熟老女人| 国内成人精品视频| 欧美日韩一区二区三区在线免费观看| 性欧美在线看片a免费观看| 亚洲精品福利免费在线观看| 国产网站欧美日韩免费精品在线观看| 日韩精品在线免费播放| 欧美老肥婆性猛交视频| 欧美激情小视频| 亚洲免费伊人电影在线观看av| 疯狂做受xxxx欧美肥白少妇| 97精品一区二区三区| 午夜精品福利电影| 亚洲欧洲日产国产网站| 国产精品国内视频| 欧美xxxwww| 久久久久这里只有精品| 国产在线拍揄自揄视频不卡99| 欧美另类极品videosbest最新版本| 成人国产亚洲精品a区天堂华泰| 日韩免费观看av| 欧美国产日韩一区二区| 97人洗澡人人免费公开视频碰碰碰| 91高清免费视频| 成人h猎奇视频网站| 欧美精品成人在线| 久久久久中文字幕2018| 久久久久久久亚洲精品| 亚洲色图美腿丝袜| 日韩中文字幕不卡视频| 精品人伦一区二区三区蜜桃网站| 日韩黄在线观看| 国产精品久久久| 欧美与黑人午夜性猛交久久久| 裸体女人亚洲精品一区| 欧美日韩xxxxx| 亚洲欧美精品一区| 精品女同一区二区三区在线播放| 免费不卡欧美自拍视频| 亚洲精品日韩激情在线电影| 久久91亚洲人成电影网站| 日韩中文字幕久久| 国产成人自拍视频在线观看| 亚洲欧洲在线看| 日韩av电影手机在线| 亚洲第一黄色网| 国产成人一区二区三区| 一区二区在线免费视频| 最近2019中文字幕在线高清| 日韩成人性视频| 亚洲成人av片| 国语自产精品视频在线看| 亚洲qvod图片区电影| 精品国产1区2区| 97久久精品视频| 中文字幕亚洲一区在线观看| 亚洲精品在线视频| 国产成人精品亚洲精品| 欧美精品中文字幕一区| 国产亚洲一级高清| 日韩免费在线播放| 成人在线精品视频| 亚洲欧洲av一区二区| 欧美日韩亚洲精品一区二区三区| 久久久久久免费精品| 欧美福利视频在线| 97视频免费在线观看| 久久久久一本一区二区青青蜜月| 怡红院精品视频| 91欧美精品成人综合在线观看| 欧美午夜宅男影院在线观看| 欧美激情在线观看| 2025国产精品视频| 亚洲天堂日韩电影| 国产偷国产偷亚洲清高网站| 97香蕉超级碰碰久久免费软件| 亚洲欧美中文字幕在线一区| 日韩专区中文字幕| 久久久亚洲欧洲日产国码aⅴ| 成人伊人精品色xxxx视频| 国产欧美一区二区三区四区| 97免费视频在线| 亚洲精品国产综合久久| 亚洲欧美三级伦理| 国产精品久久久久久久app| 国产精品无av码在线观看| 中文字幕国产精品久久| 国产精品午夜视频| 国产精品自产拍在线观| 国产美女扒开尿口久久久| 国产不卡精品视男人的天堂| 2024亚洲男人天堂| 懂色av一区二区三区| 91色琪琪电影亚洲精品久久| xvideos亚洲人网站| 亚洲国产精品视频在线观看| 丝袜亚洲另类欧美重口| 亚洲欧美综合精品久久成人| 777午夜精品福利在线观看| 国产日韩欧美在线看| 国产精品亚洲一区二区三区| 色综合久久悠悠| 欧美夫妻性生活视频| 国产精品嫩草影院久久久| 久色乳综合思思在线视频| 欧美高清在线视频观看不卡| 久久久国产精彩视频美女艺术照福利| 日韩成人在线播放| 亚洲自拍偷拍一区| 成人国产精品一区二区| 91精品久久久久久久| 美女性感视频久久久| 国产成人福利夜色影视| 91tv亚洲精品香蕉国产一区7ujn| 亚洲色图第一页| 黄色一区二区在线| 欧美日韩福利电影| 欧美大片第1页| 日韩有码在线电影| 中文字幕欧美在线| 成人精品一区二区三区电影黑人| 欧美电影免费观看高清| 国产精品久久久久久久天堂|