JS刪除某個父元素下的所有子元素
JS中如何刪除某個父元素下的所有子元素?這里我介紹幾種方法:
1.通過元素的 innerHTML 屬性來刪除
這種方式我覺得是最有方便的,直接找到你想要的父元素,直接令其 element.innerHTML = "";
舉例說明:
<input type="button" value="按鈕" id="btn"> <div id="dv"> <p>1</p> <p>2</p> <p>3</p> </div> <script> document.getElementById("btn").onclick = function () { document.getElementById("dv").innerHTML = ""; } </script>
2.通過 removeChild() 方法來刪除
removeChild() 的用法是先找到父級元素parent,然后調(diào)用 parent.removeChild(thisNode) 來刪除當前子節(jié)點(thisNode),那我們只要循環(huán)遍歷刪除所有的即可。
舉例說明:
<input type="button" value="按鈕" id="btn"> <div id="dv"> <p>1</p> <p>2</p> <p>3</p> </div> <script> document.getElementById("btn").onclick = function () { // 獲取 div 標簽 var div = document.getElementById("dv"); // 獲取 div 標簽下的所有子節(jié)點 var pObjs = div.childNodes; for (var i = pObjs.length - 1; i >= 0; i--) { // 一定要倒序,正序是刪不干凈的,可自行嘗試 div.removeChild(pObjs[i]); } } </script>
注意:循環(huán)遍歷的時候一定要倒序,因為正序的時候,當你把索引為0的子節(jié)點刪除后,那么原來索引為1的就變成了0,而這時變量 i 已經(jīng)變成1了,程序繼續(xù)走時就會刪除原先索引為2的現(xiàn)在為1的節(jié)點,結(jié)果就是最后只刪除了一半的節(jié)點,朋友們可自行嘗試理解一下。
3.通過 jQuery 中 empty() 方法來刪除
語法:
$(selector).empty()
舉例說明:
<input type="button" value="按鈕" id="btn"> <div id="dv"> <p>1</p> <p>2</p> <p>3</p> </div> <script src="jquery-3.4.1.js"></script> <script> $("#btn").click(function () { $("#dv").empty(); }) </script>
到此這篇關于JS刪除某個父元素下的所有子元素的文章就介紹到這了,更多相關JS刪除元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議
這篇文章主要介紹了性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04Javascript oop設計模式 面向?qū)ο缶幊毯唵螌嵗榻B
這篇文章主要介紹了Javascript oop設計模式 面向?qū)ο缶幊毯唵螌嵗榻B的相關資料,這里附有實例代碼幫助大家學習理解,需要的朋友可以參考下2016-12-12JS中使用new Date(str)創(chuàng)建時間對象不兼容firefox和ie的解決方法(兩種)
這篇文章主要介紹了JS中使用new Date(str)創(chuàng)建時間對象不兼容firefox和ie的解決方法的相關資料,需要的朋友可以參考下2016-12-12