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 相关文章推荐
Prototype 学习 工具函数学习($A方法)
Jul 12 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
Mar 04 Javascript
Vue+axios 实现http拦截及路由拦截实例
Apr 25 Javascript
vuex学习之Actions的用法详解
Aug 29 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
Aug 28 Javascript
微信小程序实用代码段(收藏版)
Dec 17 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 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 FLEA中二叉树数组的遍历输出
2012/09/26 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
javascript中的一些注意事项 更新中
2010/12/06 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python每天必学之bytes字节
2016/01/28 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
python 监控logcat关键字功能
2020/09/04 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
应届护士推荐信
2013/11/16 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
大专毕业生求职信
2014/07/05 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
综合素质评价自我评价
2015/03/06 职场文书
《社戏》教学反思
2016/02/22 职场文书
创业计划书之网吧
2019/10/10 职场文书
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL