亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 關于jquery的remove()方法

瀏覽:71日期:2023-02-13 18:36:29

問題描述

javascript - 關于jquery的remove()方法

這里不太明白,不會重jquery對象中刪除? 如果要刪除,怎么刪除呢?

問題解答

回答1:

關于 remove 我們看源碼是這樣的:摘自jquery2.x

// keepData is for internal use only--do not document remove: function( selector, keepData ) {var elem, elems = selector ? jQuery.filter( selector, this ) : this, i = 0;for ( ; (elem = elems[i]) != null; i++ ) { if ( !keepData && elem.nodeType === 1 ) {jQuery.cleanData( getAll( elem ) ); } if ( elem.parentNode ) {if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { setGlobalEval( getAll( elem, 'script' ) );}elem.parentNode.removeChild( elem ); }}return this; },

按照示例的代碼 $(’p’).remove()結合源碼所說,其實用的就是原生的removeChild

https://developer.mozilla.org...

而removeChild 這里MDN有個說明:

被移除的這個子節點仍然存在于內存中,只是沒有添加到當前文檔的DOM樹中,因此,你還可以把這個節點重新添加回文檔中,當然,實現要用另外一個變量比如上例中的oldChild來保存這個節點的引用. 如果使用上述語法中的第二種方法, 即沒有使用 oldChild 來保存對這個節點的引用, 則認為被移除的節點已經是無用的, 在短時間內將會被內存管理回收.

而題主標注的 不會從jQuery對象中刪除,也一樣,題主可以在頁面隨便找一個jQuery dom看看,比如

var t = $(’#test’);t.remove();

這里t就是一個jQuery對象,包含了已經remove掉的dom的信息。

正如上面引用mdn所說,如果你沒有用變量來保存已經刪除的dom,那它就等著被回收掉了。

當然可能覺得就像上面,還是用了t保存了dom的信息,并且在t[0]上,那可以試下 delete(t[0]) ?

= =我倒是 不知道咋測試那個dom到底被回收了沒。不過基本上remove了,也沒引用了 ,如果頁面dom不是很復雜的話,暫時可以忽略。 這個是我的見解,有不對的請指教哈~

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 免费污污网站 | 久久精品免视着国产成人 | 午夜精品久久久久 | www麻豆视频 | 高清一区在线 | 久草视频网站 | 国产三级大片 | 久久www免费人成高清 | 四虎永久免费鲁大师 | 成人免费a视频 | 免费一级 一片一毛片 | 久久99热精品免费观看无卡顿 | 亚洲国产一区二区三区四区五区 | 欧美做a一级视频免费观看 欧美做a欧美 | 亚洲一区二区福利视频 | 男人的天堂久久精品激情 | 香蕉久久国产 | 日本三级无码中文字幕 | 伊人伊成久久人综合网777 | a级欧美| 国产a不卡片精品免费观看 国产a毛片高清视 | 国产欧美专区在线观看 | 三级免费网址 | 欧美日韩不卡视频一区二区三区 | 国产成人aa在线观看视频 | 中国美女做爰视频高清 | 成人黄激情免费视频 | 欧美特级特黄a大片免费 | 国产视频网站在线 | 国产不卡在线蜜 | 欧美日视频| 在线日韩亚洲 | 久久精品国产2020 | 日韩精品视频网 | 亚洲高清免费在线观看 | 久久久青草青青亚洲国产免观 | 黄色录像一级大片 | 亚洲综合日韩精品欧美综合区 | 一级做人爰a全过程免费视频 | 国产欧美一区视频在线观看 | 亚洲精品永久一区 |