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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
jquery 操作表格实现代码(多种操作打包)
Mar 20 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
Oct 15 Javascript
微信小程序 wxapp内容组件 icon详细介绍
Oct 31 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
js实现简单的点名器随机色实例代码
Sep 20 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
使用正则替换变量
2007/05/05 Javascript
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
Javascript 垃圾收集机制介绍理解
2013/05/14 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
小程序实现多列选择器
2019/02/15 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
javascript实现评分功能
2020/06/24 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python脚本爬取字体文件的实现方法
2017/04/29 Python
python统计中文字符数量的两种方法
2019/01/31 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
python pillow库的基础使用教程
2021/01/13 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
卫生安全检查制度
2014/02/04 职场文书
党支部书记岗位责任制
2014/02/11 职场文书
电子商务求职信
2014/06/15 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android