使用JavaScript刪除HTML元素的2種方法及3種情況
從HTML文檔中刪除元素有JavaScript remove()或removeChild()兩種方法及三種情況:
刪除元素自身
- xxx.remove() - xxx.parentNode.removeChild(xxx)
刪除子元素
- 父.removeChild(子)
刪除父元素
- xxx.parentNode.parentNode.removeChild(xxx的父元素);
示例1:使用removeChild()方法刪除HTML元素自身
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body style = "text-align:center;"> <p style = "font-size: 19px; font-weight: bold;">單擊按鈕刪除元素</p> <p id = "remove"> 這是一個測試文本!</p> <button onClick = "Fun()">點擊這里</button> <p id = "DOWN" style = "color: green; font-size: 24px; font-weight: bold;"> </p> <!-- Script to remove HTML element --> <script> var down = document.getElementById('DOWN'); var div = document.getElementById('remove'); function Fun() { div.parentNode.removeChild(div); down.innerHTML = "元素被刪除!"; } </script> </body> </html>
示例2:使用removeChild()方法刪除HTML元素自身、子元素及父元素
<div class="fatherBox" style="border:1px solid red"> 我是父盒子 <div class="meBox" style="background-color:pink">我是一個盒子</div> </div> <ol> <li>香蕉</li> <li class="apple">蘋果</li> <li>桃子</li> </ol> <div class="operate"> <button onclick="self()">刪除元素本身</button> <button onclick="child()">刪除子元素</button> <button onclick="father()">刪除父元素</button> </div> <script type="text/javascript"> function self() { var me_box = document.querySelector('.meBox'); if (me_box) { //這兩種方法皆可 // me_box.remove(); me_box.parentNode.removeChild(me_box); } } function child() { var ol = document.querySelector('ol'); var appleLi = document.querySelector('.apple'); if (ol && appleLi) { ol.removeChild(appleLi); } } function father() { var me_box = document.querySelector('.meBox'); var father_box = document.querySelector('.fatherBox'); if (me_box && father_box) { me_box.parentNode.parentNode.removeChild(father_box); } } </script>
用 removeChild() 方法,元素不能自己刪除自己,所以只能用其父元素將其刪除,所以用移除孩子的方法。無論用js刪除頁面級元素div,還是刪除列表級元素 ulli、ulol,以及刪除圖片元素img、文本框元素input,都用 removeChild() 方法。
a、js刪除div及其內(nèi)容
假如有 div 如下:
<div><div id="delId"><h3>js刪除元素之div及其內(nèi)容</h3><p>這是段落內(nèi)容</p></div></div> var obj = document.getElementById("delId"); obj.innerHTML = "";//刪除div內(nèi)容 //刪除div var parentObj = obj.parentNode;//獲取div的父對象 parentObj.removeChild(obj);//通過div的父對象把它刪除
b、js刪除ulli及其內(nèi)容
假如有 ulli 如下:
<div><ul id="ulId"><li>js刪除元素之ulli及其內(nèi)容</li><li>olli也是一樣的刪除方法</li><ul></div> var obj = document.getElementById("ulId"); obj.innerHTML = "";//刪除ul的內(nèi)容(刪除所有l(wèi)i) //刪除所有l(wèi)i的內(nèi)容 var obj = document.getElementById("ulId"); var liObj = obj.childNodes;//li都是ul的孩子,所以通過 childNodes 獲取所有l(wèi)i for (var i = 0; i < liObj.length; i++) { liObj[i].innerHTML = "";//循環(huán)刪除所有l(wèi)i的內(nèi)容 } //刪除ul var parentObj = obj.parentNode;//獲取ul的父對象 parentObj.removeChild(obj);//通過li的父對象把它刪除
c、js刪除img元素
假如有 img 如下:
<div><img id="imgId" src="/images/del.jpg" alt="js刪除img元素" /></div> var obj = document.getElementById("imgId"); var impParent = obj.parentNode;//獲取img的父對象 impParent.removeChild(obj);//通過img的父對象把它刪除
d、js刪除input元素
假如有 img 如下:
<span><input id="inputId" type="text" /></span> var obj = document.getElementById("inputId"); var inputParent = obj.parentNode;//獲取input的父對象 inpuParent.removeChild(obj);//通過inpu的父對象把它刪除
————————————————
示例3:使用remove()方法從文檔中刪除HTML元素自身
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body style = "text-align:center;"> <p style = "font-size: 19px; font-weight: bold;">單擊按鈕刪除元素</p> <p id = "remove"> 這是一個測試文本!</p> <button onClick = "Fun()">點擊這里</button> <p id = "DOWN" style = "color: green; font-size: 24px; font-weight: bold;"> </p> <!-- Script to remove HTML element --> <script> var down = document.getElementById('DOWN'); var div = document.getElementById('remove'); function Fun() { div.remove(); down.innerHTML = "元素被刪除!"; } </script> </body> </html>
總結(jié)
到此這篇關于使用JavaScript刪除HTML元素的2種方法及3種情況的文章就介紹到這了,更多相關JS刪除HTML元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript full screen 全屏顯示頁面元素的方法
要想讓頁面的某個元素全屏顯示,就像在網(wǎng)頁上看視頻的時候,可以全屏觀看一樣,該怎么實現(xiàn)呢2013-09-09獲取客戶端網(wǎng)卡MAC地址和IP地址實現(xiàn)JS代碼
獲取客戶端的一些信息,如IP和MAC,以結(jié)合身份驗證,相信很多人都會這樣做吧,我們這里用Javascript,這樣做的好處是不需要服務器端進行處理,有客戶端自行獲取,感興趣的你可以參考下哈2013-03-03