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

Posted 懂你在爱我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

效果:

 

以上是关于DOM(创建插入和删除元素)的主要内容,如果未能解决你的问题,请参考以下文章

JS学习笔记DOM操作应用-创建插入和删除元素;文档碎片

jQuery的DOM操作

JavaScript之DOM-5 增加删除和替换节点(创建节点插入节点删除和替换节点)

javascript中级--DOM元素的创建插入删除

JavaScript 学习-34.HTML DOM 创建/插入/删除/替换元素

jquery DOM 创建插入删除