<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
        主站蜘蛛池模板: 99热这里只有精品免费播放| 免费人成网上在线观看| 在线涩涩免费观看国产精品| 亚洲国产精品人人做人人爽| MM1313亚洲国产精品| 四虎免费在线观看| 亚洲AV永久无码精品放毛片| 韩国日本好看电影免费看| 亚洲日韩一区精品射精| 免费看大黄高清网站视频在线| 亚洲熟妇成人精品一区| 日韩黄色免费观看| 日产久久强奸免费的看| 337p日本欧洲亚洲大胆裸体艺术| A国产一区二区免费入口| 国产V亚洲V天堂A无码| 日本免费中文字幕| 亚洲日产2021三区在线| 性色av无码免费一区二区三区| 亚洲日韩精品国产3区| 亚洲成a人片在线观看久| 成在线人视频免费视频| 亚洲AV日韩AV天堂一区二区三区| 99久久精品免费视频| 亚洲精品伊人久久久久| 免费a级毛片视频| 中文在线免费不卡视频| 91亚洲一区二区在线观看不卡 | 国产亚洲欧洲Aⅴ综合一区 | 青青青免费国产在线视频小草| 亚洲欧美黑人猛交群| 免费人成网站在线播放| 99在线热播精品免费99热| 亚洲日本一区二区三区| 浮力影院第一页小视频国产在线观看免费| 美女的胸又黄又www网站免费| 婷婷亚洲综合五月天小说 | 1区2区3区产品乱码免费| 亚洲人片在线观看天堂无码 | 亚洲国产精品一区| 日本特黄a级高清免费大片|