zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    集合-ConcurrentSkipListMap 源码解析
    集合-跳表SkipList
    集合-ConcurrentHashMap 源码解析
    >>《移动设计模式大观.pdf》
    >>《《iOS 人机界面准则》中文版.pdf》
    >《Web导航设计.pdf》
    >>《设计心理学名着-2 情感化设计 诺曼着.pdf》
    自制网页(html+css+js+jQuery)
    仿写抽屉新热榜 (html+css)
    运动员喝饮料问题
  • 原文地址:https://www.cnblogs.com/sese/p/8353533.html
Copyright © 2011-2022 走看看