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>

 

posted @ 2018-01-25 22:34  前端[色色]  阅读(282)  评论(0编辑  收藏  举报