DOM(创建、插入和删除元素)

1.创建DOM元素

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

    appendChild(节点)  追加一个节点

例子:为ul插入li 并且为li元素插入一些文字

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>

        window.onload = function () {
            var oBtn = document.getElementById('btn');
            var oUl = document.getElementById('ul1');
            var oText = document.getElementById('text1');
            
            oBtn.onclick = function () {
                var oLi = document.createElement('li');
                oLi.innerHTML = oText.value;
                oUl.appendChild(oLi);
            }

        };
        
    </script>
</head>
<body>
<input id='text1' type="text">
<input id="btn" type="button" value="创建li">
<ul id="ul1">
</ul>
</body>
</html>

效果:

 appendChild(节点)  追加一个节点,每次都在尾部追加。

 appendChild有两种意思:1.先把元素从原有父级上删掉 2.添加到新的父级

  如:点击移动按钮,使最上面的移到最下面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #ul1 {
            background: green;
        }
    </style>
    <script>

        window.onload = function () {
            var oUl1 = document.getElementById('ul1');
            var oBtn = document.getElementById('btn1');
            oBtn.onclick = function () {
                var oLi = oUl1.children[0];
                oUl1.appendChild(oLi);
            };

        };

    </script>
</head>
<body>
<input id='btn1' type="button" value="移动">
<ul id="ul1">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>


</body>
</html>

效果:

借用appendChild可以排序:

如:点击排序按钮,使数字从小到大排序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #ul1 {
            background: green;
        }
    </style>
    <script>

        window.onload = function () {
            var oUl1 = document.getElementById('ul1');
            var oBtn = document.getElementById('btn1');
            var aLi = oUl1.getElementsByTagName('li');
            oBtn.onclick = function () {
                var arr = [];
                for(var i=0;i<aLi.length;i++){
                    arr[i] = aLi[i];
                }
                arr.sort(function (li1,li2) {
                    var num1 = parseInt(li1.innerHTML);
                    var num2 = parseInt(li2.innerHTML);
                    return num1 - num2;
                });
                for(var i=0;i<arr.length;i++){
                    oUl1.appendChild(arr[i]);
                }

            };

        };

    </script>
</head>
<body>
<input id='btn1' type="button" value="排序">
<ul id="ul1">
    <li>16</li>
    <li>12</li>
    <li>36</li>
    <li>24</li>
</ul>


</body>
</html>

效果:

 

 

 

2.插入元素

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

例子:倒序插入li

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>

        window.onload = function () {
            var oBtn = document.getElementById('btn');
            var oUl = document.getElementById('ul1');
            var oText = document.getElementById('text1');
            var aLi = oUl.getElementsByTagName('li');

            oBtn.onclick = function () {
                var oLi = document.createElement('li');
                oLi.innerHTML = oText.value;
                 if(aLi.length > 0){
                     oUl.insertBefore(oLi,aLi[0]);
                 }else {
                     oUl.appendChild(oLi);
                 }
            }

        };

    </script>
</head>
<body>
<input id='text1' type="text">
<input id="btn" type="button" value="创建li">
<ul id="ul1">
</ul>
</body>
</html>

效果:

3.删除DOM元素

   removeChild(节点)       删除一个节点

例子:删除li

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>

        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>111111<a href="#">删除</a></li>
    <li>222222<a href="#">删除</a></li>
    <li>333333<a href="#">删除</a></li>
    <li>444444<a href="#">删除</a></li>
    <li>555555<a href="#">删除</a></li>
</ul>
</body>
</html>

效果:

 

posted on 2017-05-11 10:41  懂你在爱我  阅读(6287)  评论(0编辑  收藏  举报

导航