JavaScript 实现HTML DOM增删改查操作的常见方法详解


Posted in Javascript onJanuary 04, 2020

本文实例讲述了JavaScript 实现HTML DOM增删改查操作的常见方法。分享给大家供大家参考,具体如下:

首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查。

1 查找DOM

第一种方式是我们最常用的:通过ID查找:

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <p id="demo">你能找到我么?</p>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    document.getElementById("demo").innerHTML = "ok";
  }
</script>
</html>

注意:当我们写HTML的时候尽量保证ID不重复。

第二种方法:通过标签名查找

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <div id="demo">
    <p>hi man</p>
  </div>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    var element = document.getElementById("demo");
    var p = element.getElementsByTagName("p");
    p[0].innerHTML = "yo";
  }
</script>
</html>

↑ 我们取到了ID为demo的div,然后在div中有个p元素 没有ID属性,我们就可以通过tagname来找到它。

第三种方法:通过class来查找

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <div class="demo">
    <p>hi man</p>
  </div>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    var element = document.getElementsByClassName("demo")[0];
    var p = element.getElementsByTagName("p");
    p[0].innerHTML = "yo";
  }
</script>
</html>

2 删除DOM

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <div id="div1">
    <p id="p1">hi man</p>
    <p id="p2">hello</p>
  </div>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    var div1 = document.getElementById("div1");
    var p2 = document.getElementById("p2");
    div1.removeChild(p2);
  }
</script>
</html>

3 新增DOM

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <div id="div1">
    <p id="p1">hi man</p>
    <p id="p2">hello</p>
  </div>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    // 创建P标签
    var p = document.createElement("p");
    // 创建文本节点
    var node = document.createTextNode("新的P标签");
    // 创建属性
    var attr = document.createAttribute("class");
    attr.value = "class p";
    // p标签中添加文本节点
    p.appendChild(node);
    // p标签中添加属性
    p.setAttributeNode(attr);
    var div = document.getElementById("div1");
    // 添加p标签
    div.appendChild(p);
  }
</script>
</html>

4 修改DOM

4.1 修改DOM的内容

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <div id="div1">
    <p id="p1">hi man</p>
    <p id="p2">hello</p>
  </div>
  <button onclick="changeText()">点击改变文本</button>
</body>
{{--js--}}
<script>
  function changeText(){
    var element = document.getElementById("p1");
    element.innerHTML = "更改内容";
  }
</script>
</html>

4.2 修改DOM的属性

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <a href="https://www.baidu.com" rel="external nofollow" id="link">链接</a>
</body>
{{--js--}}
<script>
  var element = document.getElementById("link");
  element.href = "https://www.google.com";
</script>
</html>

4.3 修改DOM的CSS样式

<!DOCTYPE html>
<html>
<head>
  <title>learn javascript</title>
</head>
<body>
  <p id="p1">文本</p>
</body>
{{--js--}}
<script>
  var element = document.getElementById("p1");
  element.style.color = "red";
</script>
</html>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
javascrip关于继承的小例子
May 10 Javascript
详解Bootstrap四种图片样式
Jan 04 Javascript
微信小程序 video组件详解
Oct 25 Javascript
jQuery ajax实现省市县三级联动
Mar 07 Javascript
Angular2中如何使用ngx-translate进行国际化
May 21 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
Nov 21 Javascript
详解@angular/cli 改变默认启动端口两种方式
Nov 29 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
Aug 11 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 Javascript
Vue路由 重定向和别名的区别说明
Sep 09 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 Javascript
Angular8 实现table表格表头固定效果
Jan 03 #Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 #Javascript
Vue 实现登录界面验证码功能
Jan 03 #Javascript
JS实现扫码枪扫描二维码功能
Jan 03 #Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
Jan 03 #Javascript
uni-app如何实现增量更新功能
Jan 03 #Javascript
JS实现简单日历特效
Jan 03 #Javascript
You might like
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python异常处理和日志处理方式
2019/12/24 Python
Python通过文本和图片生成词云图
2020/05/21 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
幼儿园教师辞职信
2014/01/18 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
入党推优材料
2014/06/02 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
go结构体嵌套的切片数组操作
2021/04/28 Golang