【JavaScript】DOM增删改的操作

简介: 文章目录本期实现功能增新一个子节点(appendChild)在指定的子节点前添加一个新节点(insertBefore)替换子节点(replaceChild)删除指定节点(removeChild)优化:与innerHTML结合使用修改元素(更高效)

本期实现功能

97564548a6f6498687781d1e7419a765.gif

增新一个子节点(appendChild)

将新的子节点添加到指定节点

window.onload = function(){
   document.getElementById('bt1').onclick = function(){
       //创建一个li节点
       var addli1 = document.createElement('li');
       //创建一个城市文本节点
       var citytext = document.createTextNode('浙江');
       //将文本节点设置为li节点的字节点
       addli1.appendChild(citytext);
       //获取ul
       var ul = document.getElementById('uls');
       //将li设置为ul的子节点
       ul.appendChild(addli1);
   }
}

在指定的子节点前添加一个新节点(insertBefore)

语法:父节点.insertBefore(新节点,指定节点);

window.onload = function(){
   document.getElementById('bt2').onclick = function(){
    //创建一个li节点
      var addli2 = document.createElement('li');
        //创建一个文本节点
      var citytext = document.createTextNode('四川');
      //将文本节点设置为li的子节点
      addli2.appendChild(citytext);
      //获取贵阳的li节点
      var guiyang = document.getElementById('guiyang');
      //获取ul节点
      var ul = document.getElementById('uls');
      //在贵阳之前插入li
      ul.insertBefore(addli2,guiyang);
  }
}

替换子节点(replaceChild)

语法:父节点.replaceChild(新节点,旧节点);

window.onload = function(){
  document.getElementById('bt3').onclick = function(){
     //创建一个li节点
       var addli2 = document.createElement('li');
       //创建一个文本节点
       var citytext = document.createTextNode('江西');
       //将文本节点设置为li的子节点
       addli2.appendChild(citytext);
       //获取贵阳的li节点
       var guiyang = document.getElementById('guiyang');
       //获取ul节点
       var ul = document.getElementById('uls');
       //替换贵阳子节点
       ul.replaceChild(addli2,guiyang);
   }
}

删除指定节点(removeChild)

语法:父节点.removeChild(子节点);

window.onload = function(){
   document.getElementById('bt4').onclick = function(){
        //找到天津这个节点
        var tj = document.getElementById('tj');
        //获取它的父节点
        var parent =document.getElementById('uls');
        //删除
        parent.removeChild(tj);
   }
}

优化:与innerHTML结合使用修改元素(更高效)

window.onload = function(){
   document.getElementById('bt5').onclick = function(){
       //创建一个li节点
       var li = document.createElement('li');
       //使用innerHTML写入文本
       li.innerHTML="江苏";
       //获取父节点
       var ul = document.getElementById('uls')
       //将设置为ul的子节点
       ul.appendChild(li);
   }
}            

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload = function(){
            document.getElementById('bt1').onclick = function(){
                //创建一个li节点
                var addli1 = document.createElement('li');
                //创建一个城市文本节点
                var citytext = document.createTextNode('浙江');
                //将文本节点设置为li节点的字节点
                addli1.appendChild(citytext);
                //获取ul
                var ul = document.getElementById('uls');
                //将li设置为ul的子节点
                ul.appendChild(addli1);
            }
            document.getElementById('bt2').onclick = function(){
                //创建一个li节点
                var addli2 = document.createElement('li');
                //创建一个文本节点
                var citytext = document.createTextNode('四川');
                //将文本节点设置为li的子节点
                addli2.appendChild(citytext);
                //获取贵阳的li节点
                var guiyang = document.getElementById('guiyang');
                //获取ul节点
                var ul = document.getElementById('uls');
                //在贵阳之前插入li
                ul.insertBefore(addli2,guiyang);
            }
            document.getElementById('bt3').onclick = function(){
                //创建一个li节点
                var addli2 = document.createElement('li');
                //创建一个文本节点
                var citytext = document.createTextNode('江西');
                //将文本节点设置为li的子节点
                addli2.appendChild(citytext);
                //获取贵阳的li节点
                var guiyang = document.getElementById('guiyang');
                //获取ul节点
                var ul = document.getElementById('uls');
                //替换贵阳子节点
                ul.replaceChild(addli2,guiyang);
            }
            document.getElementById('bt4').onclick = function(){
                //找到天津这个节点
                var tj = document.getElementById('tj');
                //获取它的父节点
                // var parent =document.getElementById('uls');
                // //删除
                // parent.removeChild(tj);
                //另外一种方法
                tj.parentNode.removeChild(tj);
            }
            document.getElementById('bt5').onclick = function(){
                //创建一个li节点
                var li = document.createElement('li');
                //使用innerHTML写入文本
                li.innerHTML="江苏";
                //获取父节点
                var ul = document.getElementById('uls')
                //将设置为ul的子节点
                ul.appendChild(li);
            }
        }
    </script>
    <style>
        .box{
            display: inline-block;
            background-color: lightblue;
        }
        li{
            display: inline-block;
            background-color: lightgoldenrodyellow;
            margin: 10px;
        }
        .box2{
            display: inline-block;
          } 
        button{
            display: block;
        }
    </style>
</head>
<body>
    <div class="box">
        <p>常驻城市:</p>
        <ul id="uls">
            <li id="tj">天津</li>
            <li id="guiyang">贵阳</li>
            <li>重庆</li>
            <li>北京</li>
        </ul>
    </div>
    <div class="box2">
        <button id="bt1">添加一座城市</button>
        <button id="bt2">在贵阳这个城市之前加入一座城市</button>
        <button id="bt3">加一个新的城市替换贵阳</button>
        <button id="bt4">删除天津</button>
        <button id="bt5">使用innerHTML修改</button>
    </div>
</body>
</html>



相关文章
|
3月前
|
JavaScript 前端开发
JavaScript操作DOM元素
JavaScript操作DOM元素
|
3月前
|
JavaScript 前端开发
如何使用 JavaScript 操作 DOM?
如何使用 JavaScript 操作 DOM?
43 0
|
3月前
|
XML JavaScript 前端开发
JavaScript DOM 操作:解释一下 DOM 是什么?
JavaScript DOM 操作:解释一下 DOM 是什么?
121 0
|
3月前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
34 2
|
3月前
|
JavaScript 前端开发
JavaScript DOM 操作:如何动态创建和插入元素?
使用JavaScript的`createElement`, `createTextNode`和`appendChild`方法可动态创建并插入元素。
30 2
|
3月前
|
JavaScript 前端开发 安全
javascript操作DOM的方法
javascript操作DOM的方法
25 0
|
JavaScript 前端开发
Javascript Dom基本操作
Javascript Dom基本操作
57 0
|
JavaScript 前端开发
JavaScript — DOM的增删改查、节点、事件、文档的加载
JavaScript — DOM的增删改查、节点、事件、文档的加载
137 0
|
JavaScript 前端开发
JavaScript dom 节点的增删改查
JavaScript dom 节点的增删改查
93 0
|
JavaScript 前端开发
JavaScript dom 的跨线程操作
JavaScript dom 的跨线程操作
70 0