<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的區別(詳解)

        來源:懂視網 責編:小采 時間:2020-11-27 22:30:33
        文檔

        基于DOM節點刪除之empty和remove的區別(詳解)

        基于DOM節點刪除之empty和remove的區別(詳解):要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法 empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。 這個方法不僅移除子元素(和其他后
        推薦度:
        導讀基于DOM節點刪除之empty和remove的區別(詳解):要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法 empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。 這個方法不僅移除子元素(和其他后

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

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

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

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

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

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

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

        <!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>
         div {
         background: #bbffaa;
         width: 300px;
         }
         </style>
        </head>
        
        <body>
         <h2>通過empty移除元素</h2>
         <div id="test">
         <p>p元素1</p>
         <p>p元素2</p>
         </div>
         <button>點擊通過jQuery的empty移除元素</button>
         <script type="text/javascript">
         $("button").on('click', function() {
         //通過empty移除了當前div元素下的所有p元素
         //但是本身id=test的div元素沒有被刪除
         $("#test").empty()
         })
         </script>
        </body>
        
        </html>

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

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

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

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

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

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

        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>
         <div class="test1">
         <p>p元素1</p>
         <p>p元素2</p>
         </div>
         <div class="test2">
         <p>p元素3</p>
         <p>p元素4</p>
         </div>
         <button>通過點擊jQuery的empty移除元素</button>
         <button>通過點擊jQuery的empty移除指定元素</button>
         <script type="text/javascript">
         $("button:first").on('click', function() {
         //刪除整個 class=test1的div節點
         $(".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的區別(詳解)

        基于DOM節點刪除之empty和remove的區別(詳解):要移除頁面上節點是開發者常見的操作,jQuery提供了幾種不同的方法用來處理這個問題,這里我們開仔細了解下empty和remove方法 empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。 這個方法不僅移除子元素(和其他后
        推薦度:
        標簽: 刪除 節點 empty()
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 丁香花免费高清视频完整版| 九九视频高清视频免费观看| 精品免费视在线观看| 国产一级淫片免费播放| 亚洲综合久久成人69| 久久中文字幕免费视频| 四虎永久免费地址在线观看| 精品亚洲成A人无码成A在线观看 | 亚洲区视频在线观看| 免费一级毛片无毒不卡| 亚洲欧洲精品成人久久奇米网| 亚洲精品乱码久久久久久蜜桃图片| 免费看成人AA片无码视频羞羞网| 亚洲AV无码久久精品色欲| 国产一级a毛一级a看免费人娇| 亚洲一区二区三区无码影院| 免费无码国产V片在线观看| 精品国产精品久久一区免费式| 亚洲三级高清免费| 国产亚洲精品激情都市| 曰批免费视频播放免费 | 无码国产精品一区二区免费虚拟VR| 亚洲av无码不卡| 久9久9精品免费观看| 亚洲AV色香蕉一区二区| 久久精品国产这里是免费| 久久精品国产精品亚洲色婷婷 | 亚洲毛片在线免费观看| 曰批全过程免费视频网址 | 国产精品亚洲一区二区三区在线 | 一级毛片在线观看免费| 91亚洲va在线天线va天堂va国产| 足恋玩丝袜脚视频免费网站| 亚洲妓女综合网99| 青青草国产免费久久久下载| 亚洲成在人线aⅴ免费毛片| 免费一级毛片在线播放| 久久er国产精品免费观看8| 毛片a级毛片免费播放下载| 亚洲熟妇AV日韩熟妇在线| 久久99热精品免费观看牛牛|