<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        實例詳解基于DOM之empty和remove的區別

        來源:懂視網 責編:小OO 時間:2020-11-27 20:08:33
        文檔

        實例詳解基于DOM之empty和remove的區別

        要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法。empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。這個方法不僅移除子元素(和其他后代元素),同樣移除元素里的文本。因為,根據說明,元素里任何文本字符串都被看做是該元素的子節點。請看下面的HTML。<;p class=";hello";>;<;p>;這是p標簽<;/p>;<;/p>;。如果我們通過empty方法移除里面p的所有元素,它只是清空內部的html代碼,但是標記仍然留在DOM中。
        推薦度:
        導讀要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法。empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。這個方法不僅移除子元素(和其他后代元素),同樣移除元素里的文本。因為,根據說明,元素里任何文本字符串都被看做是該元素的子節點。請看下面的HTML。<;p class=";hello";>;<;p>;這是p標簽<;/p>;<;/p>;。如果我們通過empty方法移除里面p的所有元素,它只是清空內部的html代碼,但是標記仍然留在DOM中。

        本文主要為大家帶來一篇基于DOM節點刪除之empty和remove的區別(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能幫助到大家。

        要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法

        empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。

        這個方法不僅移除子元素(和其他后代元素),同樣移除元素里的文本。因為,根據說明,元素里任何文本字符串都被看做是該元素的子節點。請看下面的HTML:

        <p class="hello"><p>這是p標簽</p></p>

        如果我們通過empty方法移除里面p的所有元素,它只是清空內部的html代碼,但是標記仍然留在DOM中

        //通過empty處理
        $('.hello').empty()
        
        //結果:<p>這是p標簽</p>被移除
        <p class="hello"></p>

        通過empty移除了當前p元素下的所有p元素,但是本身id=test的p元素沒有被刪除

        <!DOCTYPE html>
        <html>
        
        <head>
         <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
         <title></title>
         <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
         <style>
         p {
         background: #bbffaa;
         width: 300px;
         }
         </style>
        </head>
        
        <body>
         <h2>通過empty移除元素</h2>
         <p id="test">
         <p>p元素1</p>
         <p>p元素2</p>
         </p>
         <button>點擊通過jQuery的empty移除元素</button>
         <script type="text/javascript">
         $("button").on('click', function() {
         //通過empty移除了當前p元素下的所有p元素
         //但是本身id=test的p元素沒有被刪除
         $("#test").empty()
         })
         </script>
        </body>
        
        </html>

        remove與empty一樣,都是移除元素的方法,但是remove會將元素自身移除,同時也會移除元素內部的一切,包括綁定的事件及與該元素相關的jQuery數據。

        例如一段節點,綁定點擊事件

        <p class="hello"><p>這是P段落</p></p>
        $('.hello').on("click",fn)

        如果不通過remove方法刪除這個節點其實也很簡單,但是同時需要把事件給銷毀掉,這里是為了防止"內存泄漏",所以前端開發者一定要注意,綁了多少事件,不用的時候一定要記得銷毀

        通過remove方法移除p及其內部所有元素,remove內部會自動操作事件銷毀方法,所以使用使用起來非常簡單

        //通過remove處理
        $('.hello').remove()
        //結果:<p class="hello"><p>這是P段落</p></p> 全部被移除 //節點不存在了,同事事件也會被銷毀

        remove表達式參數:

        remove比empty好用的地方就是可以傳遞一個選擇器表達式用來過濾將被移除的匹配元素集合,可以選擇性的刪除指定的節點

        我們可以通過$()選擇一組相同的元素,然后通過remove()傳遞篩選的規則,從而這樣處理

        <!DOCTYPE html>
        <html>
        
        <head>
         <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
         <title></title>
         <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
         <style>
         .test1 {
         background: #bbffaa;
         }
         
         .test2 {
         background: yellow;
         }
         </style>
        </head>
        
        <body>
         <h2>通過jQuery remove方法移除元素</h2>
         <p class="test1">
         <p>p元素1</p>
         <p>p元素2</p>
         </p>
         <p class="test2">
         <p>p元素3</p>
         <p>p元素4</p>
         </p>
         <button>通過點擊jQuery的empty移除元素</button>
         <button>通過點擊jQuery的empty移除指定元素</button>
         <script type="text/javascript">
         $("button:first").on('click', function() {
         //刪除整個 class=test1的p節點
         $(".test1").remove()
         })
        
         $("button:last").on('click', function() {
         //找到所有p元素中,包含了3的元素
         //這個也是一個過濾器的處理
         $("p").remove(":contains('3')")
         })
         </script>
        </body>
        
        </html>

        要用到移除指定元素的時候,jQuery提供了empty()與remove([expr])二個方法,兩個都是刪除元素,但是兩者還是有區別:

        要用到移除指定元素的時候,jQuery提供了empty()與remove([expr])二個方法,兩個都是刪除元素,但是兩者還是有區別

        empty方法

        嚴格地講,empty()方法并不是刪除節點,而是清空節點,它能清空元素中的所有后代節點

        empty不能刪除自己本身這個節點

        remove方法

        該節點與該節點所包含的所有后代節點將同時被刪除

        提供傳遞一個篩選的表達式,刪除指定合集中的元素

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        實例詳解基于DOM之empty和remove的區別

        要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法。empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。這個方法不僅移除子元素(和其他后代元素),同樣移除元素里的文本。因為,根據說明,元素里任何文本字符串都被看做是該元素的子節點。請看下面的HTML。<;p class=";hello";>;<;p>;這是p標簽<;/p>;<;/p>;。如果我們通過empty方法移除里面p的所有元素,它只是清空內部的html代碼,但是標記仍然留在DOM中。
        推薦度:
        標簽: 區別 詳解 empty
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久久久亚洲爆乳少妇无 | 亚洲男人的天堂在线播放| 色老头综合免费视频| 国产在线19禁免费观看国产| 亚洲色偷偷色噜噜狠狠99| 成人免费一区二区无码视频| 亚洲色大成网站www久久九| 成人在线免费观看| 亚洲国产成人综合精品| 免费的涩涩视频在线播放 | 久草免费福利在线| 亚洲国产精品特色大片观看完整版| 国产婷婷成人久久Av免费高清| 久久精品国产精品亚洲艾 | 欧亚精品一区三区免费| 亚洲精品天堂成人片AV在线播放| 国产麻豆剧传媒精品国产免费| 国产亚洲午夜精品| 国产亚洲精久久久久久无码77777| 18未年禁止免费观看| 久久精品国产亚洲5555| A国产一区二区免费入口| 亚洲福利在线视频| 色片在线免费观看| 亚洲av女电影网| 丁香花免费完整高清观看 | 丝袜足液精子免费视频| 亚洲欧洲精品在线| 成人性生交视频免费观看| 四虎影视永久在线精品免费| 久久亚洲一区二区| 在线观看无码的免费网站| 一区在线免费观看| 亚洲自偷自拍另类图片二区| 国产在线ts人妖免费视频| 永久免费不卡在线观看黄网站| 亚洲男人天堂2022| 国产成人A亚洲精V品无码| 在线观看视频免费完整版| 精品熟女少妇aⅴ免费久久| 亚洲AV无码专区在线亚|