首页 前端知识 使用JS删除HTML元素的两种方法

使用JS删除HTML元素的两种方法

2024-03-31 09:03:42 前端知识 前端哥 150 136 我要收藏

从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及其内容

假如有 div 如下:

<div><div id="delId"><h3>js删除元素之div及其内容</h3><p>这是段落内容</p></div></div>

var obj = document.getElementById("delId");
obj.innerHTML = "";//删除div内容

//删除div
var parentObj = obj.parentNode;//获取div的父对象
parentObj.removeChild(obj);//通过div的父对象把它删除

 
b、js删除ulli及其内容

假如有 ulli 如下:

<div><ul id="ulId"><li>js删除元素之ulli及其内容</li><li>olli也是一样的删除方法</li><ul></div>

var obj = document.getElementById("ulId");
obj.innerHTML = "";//删除ul的内容(删除所有li)

//删除所有li的内容
var obj = document.getElementById("ulId");
var liObj = obj.childNodes;//li都是ul的孩子,所以通过 childNodes 获取所有li
for (var i = 0; i < liObj.length; i++) {
liObj[i].innerHTML = "";//循环删除所有li的内容
}

//删除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>

转载请注明出处或者链接地址:https://www.qianduange.cn//article/4312.html
标签
评论
发布的文章
大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!