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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 Javascript
JavaScript验证图片类型(扩展名)的函数分享
May 05 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
原生js FileReader对象实现图片上传本地预览效果
Mar 27 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
微信小程序实现留言板功能
Nov 02 Javascript
vue操作动画的记录animate.css实例代码
Apr 26 Javascript
基于Vue实现电商SKU组合算法问题
May 29 Javascript
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 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
php中对2个数组相加的函数
2011/06/24 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
php动态函数调用方法
2015/05/21 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
JS判定是否原生方法
2013/07/22 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
js实现简单模态框实例
2018/11/16 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python Pandas中根据列的值选取多行数据
2019/07/08 Python
python视频按帧截取图片工具
2019/07/23 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
什么是Python变量作用域
2020/06/03 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
测绘工程专业个人自我评价
2013/12/01 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
竞选学委演讲稿
2014/09/13 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript