美文网首页
removeChild 操作,有效

removeChild 操作,有效

作者: 小拇指的约定021 | 来源:发表于2020-05-15 10:39 被阅读0次

let element = document.getElementById(svg_id);

if(element.childNodes.length !==0){

var nodelist = element.childNodes;

  for(var i = nodelist.length-1;i>=0;i--) {

element.removeChild(nodelist[i]);

  }

}

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

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

示例1:使用removeChild()方法

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

Markup

<!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 数据。

Markup

<!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 =“”属性

Markup

<!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>

相关文章

网友评论

      本文标题:removeChild 操作,有效

      本文链接:https://www.haomeiwen.com/subject/nogqohtx.html