• js学习笔记33----DOM操作


    前面有讲过一些DOM的基本概念

    今天来说一下DOM 的一些基本操作,主要有创建节点,追加节点,删除节点。

    1.创建DOM元素:

    createElement(标签名) —— 创建一个节点

    appendChild(节点) —— 追加一个节点

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>DOM 操作</title>
            <script type="text/javascript">
                window.onload = function(){
                    var oBtn = document.getElementById("btn1");
                    var oUl = document.getElementById("ul1");
                    var oTxt = document.getElementById("txt1");            
                    oBtn.onclick = function(){
                        var oLi = document.createElement('li');
                        oLi.innerHTML = oTxt.value;
                        oUl.appendChild(oLi);                    
                    }
                }
            </script>
        </head>
        <body>
            <input type="text" id="txt1" />
            <input type="button" name="btn1" id="btn1" value="创建li" />
            <ul id="ul1"></ul>
        </body>
    </html>

    2.插入元素:

    insertBefore(节点, 原有节点) —— 在已有元素前插入

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>DOM 操作</title>
            <script type="text/javascript">
                window.onload = function(){
                    var oBtn = document.getElementById("btn1");
                    var oUl = document.getElementById("ul1");
                    var oTxt = document.getElementById("txt1");
                    var aLi = document.getElementsByTagName("li");
                    
                    oBtn.onclick = function(){
                        var oLi = document.createElement('li');
                        oLi.innerHTML = oTxt.value;
                        if(aLi.length > 0){
                            oUl.insertBefore(oLi, aLi[0]);
                        }else{
                            oUl.appendChild(oLi);
                        }
                        
                    }
                }
            </script>
        </head>
        <body>
            <input type="text" id="txt1" />
            <input type="button" name="btn1" id="btn1" value="创建li" />
            <ul id="ul1"></ul>
        </body>
    </html>

    3.删除节点:

    removeChild(节点)  —— 删除一个节点

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>DOM 操作</title>
            <script type="text/javascript">
                window.onload = function(){
                    //删除节点
                    var oUl = document.getElementById("ul1");
                    var aA = document.getElementsByTagName("a");
                    
                    for(var i=0;i<aA.length;i++){
                        aA[i].onclick = function(){
                            oUl.removeChild(this.parentNode);
                        }
                    }
                }
            </script>
        </head>
        <body>
            <ul id="ul1">
                <li>第一条 <a href="javascript:;">删除</a></li>
                <li>第二条 <a href="javascript:;">删除</a></li>
                <li>第三条 <a href="javascript:;">删除</a></li>
            </ul>
        </body>
    </html>

    4.文档碎片(只能提升低级浏览器的性能,稍作了解即可):

    createDocumentFragment 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>文档碎片</title>
            <script type="text/javascript">
                window.onload = function(){
                    
                    var oUl = document.getElementById("ul1");
                    var oFrag = document.createDocumentFragment(); //创建文档碎片
                    
                    for(var i=0;i<10000;i++){
                        var oLi = document.createElement("li");
                        oFrag.appendChild(oLi);
                    }
                    
                    oUl.appendChild(oFrag);
                }
            </script>
        </head>
        <body>
            <ul id="ul1">
                
            </ul>
        </body>
    </html>
  • 相关阅读:
    Spring学习总结(3)——Spring配置文件详解
    Hadoop学习总结(1)——大数据以及Hadoop相关概念介绍
    华为云文字识别关键技术和特别需要注意的事宜
    如何不用BPM配置时间
    华为云DevCloud为开发者提供高效智能的可信开发环境
    【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!
    在modelarts上部署mask-rcnn模型
    独立物理机和虚拟机比较有什么优势?
    解惑Python模块学习,该如何着手操作...
    sar命令,linux中最为全面的性能分析工具之一
  • 原文地址:https://www.cnblogs.com/sese/p/8353533.html
Copyright © 2020-2023  润新知