zoukankan      html  css  js  c++  java
  • js removeChild 方法

    1. 概述

      删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置。

       当你遍历一个父节点的子节点并进行删除操作时,要注意,children属性是一个只读属性,并且它在子节点变化时会实时更新

    // 拿到待删除节点:
    var self = document.getElementById('to-be-removed');
    // 拿到父节点:
    var parent = self.parentElement;
    // 删除:
    var removed = parent.removeChild(self);
    removed === self; // true

    2. example

    <!DOCTYPE html>
    <html>
    <head>
    </script>
    </head>
    <body>
    <ul id="test-list">
        <li>JavaScript</li>
        <li>Swift</li>
        <li>HTML</li>
        <li>ANSI C</li>
        <li>CSS</li>
        <li>DirectX</li>
    </ul>
    <script>
    var p= document.getElementById('test-list');
    var length = p.children.length;
    var i=0;
    for(; i<length;  ){
        var li = p.children[i];
        var text = li.innerText;
        if(text!=='JavaScript' && text!=='HTML' && text!=='CSS'){
    
           p.removeChild(li);
           alert(p.children.toString());
           length--;
        }else{
           i++;
        }
    }
    // 测试:
    ;(function () {
        var
            arr, i,
            t = document.getElementById('test-list');
        if (t && t.children && t.children.length === 3) {
            arr = [];
            for (i = 0; i < t.children.length; i ++) {
                arr.push(t.children[i].innerText);
            }
            if (arr.toString() === ['JavaScript', 'HTML', 'CSS'].toString()) {
                alert('测试通过!');
            }
            else {
                alert('测试失败: ' + arr.toString());
            }
        }
        else {
            alert('测试失败!');
        }
    })();
    </script>
    </body>
    </html>
  • 相关阅读:
    解决验证码问题
    python中的偏函数partial
    Python 数据表orm设计
    参悟yield 和yield from (加精)
    numpy基础
    JS中的面向对象
    pandas使用教程
    一次tornado建站项目分享
    django 一对一, 一对多,多对多的领悟
    三维向量类
  • 原文地址:https://www.cnblogs.com/rocky-fang/p/5772895.html
Copyright © 2011-2022 走看看