zoukankan      html  css  js  c++  java
  • javascript 创建插入和删除DOM元素

    1、创建DOM元素

    • creatElement(标签名)  创建一个节点
    • appendChild(标签名)  追加一个节点
      • <input type="text" name="" id="txt1" />
        <input type="button" value="创建li" id="btn1" />
        <ul id="ul1">
            
        </ul>
        <script>
        var oUl = document.getElementById("ul1");
        var oBtn = document.getElementById("btn1");
        var oTxt = document.getElementById("txt1");
        oBtn.onclick = function () 
        {
            var oLi = document.createElement("li");
            oLi.innerHTML = oTxt.value;
            oUl.appendChild(oLi);  //先appendChild再设置innerHTML也可以,但是这样做浏览器的渲染就是2次了,现在这样只渲染了一次
        }
        </script>

    2、插入DOM元素

    • insertBefore(节点,原有节点)  在已有元素前插入
    <input type="text" name="" id="txt1" />
    <input type="button" value="创建li" id="btn1" />
    <ul id="ul1">
        
    </ul>
    <script>
    var oUl = document.getElementById("ul1");
    var oBtn = document.getElementById("btn1");
    var oTxt = document.getElementById("txt1");
    oBtn.onclick = function () 
    {
        var oLi = document.createElement("li");
        var aLi = oUl.getElementsByTagName("li");
        oLi.innerHTML = oTxt.value;
        //oUl.insertBefore(oLi,aLi[0]); 这里直接插入会报错,因为aLi[0]不存在
        if(aLi[0])
        {
            oUl.insertBefore(oLi,aLi[0]);
        }
        else
        {
            oUl.appendChild(oLi);
        }
    }
    </script>

    3、删除DOM元素

    • removeChild(节点)  删除一个节点
    <ul id="ul1">
        <li>12378123 <a href="#">删除</a></li>
        <li>adf <a href="#">删除</a></li>
        <li>werwer <a href="#">删除</a></li>
        <li>xcbc <a href="#">删除</a></li>
        <li>123123 <a href="#">删除</a></li>
        <li>zbfdb <a href="#">删除</a></li>
    </ul>
    <script>
    var oUl = document.getElementById("ul1");
    var aBtn = document.getElementsByTagName("a");
    for(var i=0; i<aBtn.length; i++)
    {
        aBtn[i].onclick = function () 
        {
            oUl.removeChild(this.parentNode);
        }
    }
    </script>

    4、文档碎片

    当创建大量的节点的时候,可以使用文档碎片。

    文档碎片可以提高DOM操作性能(理论上)

    document.createDocumentFragment();

  • 相关阅读:
    修改游标所在的表
    PL/SQL开发中动态SQL的使用方法
    索引学习笔记
    动态SQL和PL/SQL的EXECUTE选项分析
    PL/SQL正确选择游标类型
    oracle字符集
    ext框架下,实现弹出新窗口
    student guide
    plsql与.net异常处理
    ASP.NET 2.0 XML 系列(1): XML介绍
  • 原文地址:https://www.cnblogs.com/qiangspecial/p/2984615.html
Copyright © 2011-2022 走看看