带你彻底学会JS DOM技术之删除,复制,替换元素

简介: 参数obj表示被复制的元素,而参数bool是一个布尔值,取值如下。1或true:表示复制元素本身以及复制该元素下的所有子元素。0或false:表示仅仅复制元素本身,不复制该元素下的子元素。


1.删除元素


在JavaScript中,我们可以使用removeChild()方法来删除父元素下的某个子元素


A.removeChild(B);


A表示父元素,B表示父元素内部的某个子元素


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>IMUSTCTF</title>
  <script src="js/index.js"></script>
</head>
<body>
  <ul id="list">
    <li>HTML</li>
    <li>CSS</li>
    <li>JS</li>
    <li>VUE</li>
  </ul>
  <input type="button" id="btn" value="删除最后一个"/>
</body>
</html>


window.onload=function() {
  var oBtn = document.getElementById("btn");
  oBtn.onclick = function() {
    var oUl = document.getElementById("list");
    oUl.removeChild(oUl.lastElementChild);
  }
}


页面点击删除元素后,会删除页面列表的最后一项:


3772aa94560943908aa976b163fff00c.png


2.复制元素


在JavaScript中,我们可以使用cloneNode()方法来实现复制元素


obj.cloneNode(bool)


参数obj表示被复制的元素,而参数bool是一个布尔值,取值如下。

1或true:表示复制元素本身以及复制该元素下的所有子元素。

0或false:表示仅仅复制元素本身,不复制该元素下的子元素。


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>IMUSTCTF</title>
  <script src="js/index.js"></script>
</head>
<body>
  <ul id="list">
    <li>HTML</li>
    <li>CSS</li>
    <li>JS</li>
    <li>VUE</li>
  </ul>
  <input type="button" id="btn" value="复制列表"/>
</body>
</html>


window.onload=function() {
  var oBtn = document.getElementById("btn");
  oBtn.onclick = function() {
    var oUl = document.getElementById("list");
    document.body.appendChild(oUl.cloneNode(1));
  }
}


点击复制后,会对整个列表进行复制:



3.替换元素


在JavaScript中,我们可以使用replaceChild()方法来实现替换元素


A.replaceChild(new,old);


A表示父元素,new表示新子元素,old表示旧子元素

案例:


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>
         window.onload=function()
         {
             var oBtn=document.getElementById("btn");
             oBtn.onclick=function()
             {
                //获取body中的第1个元素
                var oFirst=document.querySelector("body *:first-child");
                //获取2个文本框
                var oTag=document.getElementById("tag");
                var oTxt=document.getElementById("txt");
                //根据2个文本框的值来创建一个新节点
                var oNewTag=document.createElement(oTag.value);
                var oNewTxt=document.createTextNode(oTxt.value);
                oNewTag.appendChild(oNewTxt);
                document.body.replaceChild(oNewTag,oFirst);
             }
         }
    </script>
</head>
<body>
    <p>JavaScript</p>
    <hr/>
    输入标签:<input id="tag" type="text" /><br />
    输入内容:<input id="txt" type="text" /><br />
  <input id="btn" type="button" value="替换" />
</body>
</html>


文本框中输入信息,点击替换,结果如下

目录
相关文章
|
2天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
7 0
|
3天前
|
JavaScript 前端开发 索引
js添加、删除、替换、插入元素的方法
js添加、删除、替换、插入元素的方法
10 0
|
5天前
|
JavaScript 前端开发 安全
javascript操作DOM的方法
javascript操作DOM的方法
11 0
|
5天前
|
JavaScript 前端开发 容器
js操作dom元素
js操作dom元素
13 0
|
5天前
|
JavaScript 前端开发
js选取页面元素的方法
js选取页面元素的方法
13 2
|
9天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
11天前
|
机器学习/深度学习 人工智能 JavaScript
【JavaScript 与 TypeScript 技术专栏】JavaScript 与 TypeScript 的未来发展趋势
【4月更文挑战第30天】本文探讨了JavaScript和TypeScript的未来发展趋势。JavaScript将聚焦性能优化、跨平台开发、人工智能和WebAssembly的整合。TypeScript则将深化与其他框架的结合,强化类型检查,适应前端工程化,并与WebAssembly融合。两者在Vue 3.0及Web开发中的结合将更加紧密,TypeScript有望在更多领域扩展应用。随着技术进步,JavaScript和TypeScript的结合将成为Web开发的主流趋势。
|
Web App开发 JavaScript 前端开发
javascript 复制功能 兼容所有浏览器的解决方案
代码如下: // 兼容所有浏览器function copyUrl(url) {if (navigator.userAgent.toLowerCase().indexOf('ie') > -1) { clipboardData.
741 0
|
12天前
|
存储 移动开发 JavaScript
学习javascript,前端知识精讲,助力你轻松掌握
学习javascript,前端知识精讲,助力你轻松掌握