使用JavaScript删除DOM节点的所有子元素

想要使用JavaScript删除DOM节点的所有子元素,可以使用removeChild()或remove()方法删除所有子节点;另一个方法是设置DOM节点的innerHTML= " "属性,它是一个空字符串,生成相同的输出。

下面我们通过代码示例来看看如何实现。

示例1:使用removeChild()方法

removeChild()方法可以从父节点删除子节点。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>


<body>

    <ul style="border: 2px dashed #D58C00;">

        <li>Get Up in Morning</li>

        <li>Do some exercise</li>

        <li>Get Ready for school</li>

        <li>Study Daily</li>

        <li>Do homework</li>

    </ul>

    <input id="btn" type="button" value="删除子节点">

</body>

<script>

    function deleteChild() {

        var e = document.querySelector("ul");

        var child = e.lastElementChild; 

        while (child) {

            e.removeChild(child);

            child = e.lastElementChild;

        }

    }

    var btn = document.getElementById("btn").onclick = function() {

        deleteChild();

    }

</script>


</html>

效果图:

示例2:使用remove()方法

remove() 方法移除被选元素,包括所有文本和子节点。该方法不会把匹配的元素从 jQuery 对象中删除,因而可以在将来再使用这些匹配的元素;但除了这个元素本身得以保留之外,remove() 不会保留元素的 jQuery 数据。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>


<body>

    <ul style="border: 2px dashed #006DAF;">

        <li>Get Up in Morning</li>

        <li>Do some exercise</li>

        <li>Get Ready for school</li>

        <li>Study Daily</li>

        <li>Do homework</li>

    </ul>

    <input id="btn" type="button" value="删除子节点">

</body>

<script>

    function deleteChild() {

        var e = document.querySelector("ul");

        var first = e.firstElementChild;

        while (first) {

            first.remove();

            first = e.firstElementChild;

        }

    }

    var btn = document.getElementById("btn").onclick = function() {

        deleteChild();

    }

</script>


</html>

效果图:

示例3:使用 innerHTML =“”属性

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>


<body>

    <ul style="border: 2px dashed #FE6368;">

        <li>Get Up in Morning</li>

        <li>Do some exercise</li>

        <li>Get Ready for school</li>

        <li>Study Daily</li>

        <li>Do homework</li>

    </ul>

    <input id="btn" type="button" value="删除子节点">

</body>

<script>

    function deleteChild() {

        var e = document.querySelector("ul");

        e.innerHTML = "";

    }

    var btn = document.getElementById("btn").onclick = function() {

        deleteChild();

    }

</script>


</html>

效果图:

更多web前端开发知识,请查阅 HTML中文网 !!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容