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 相关文章推荐
input的focus方法使用
Mar 13 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
iframe 异步加载技术及性能分析
Jul 19 Javascript
jquery获取自定义属性(attr和prop)实例介绍
Apr 21 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
vue路由跳转传递参数的方式总结
May 10 Javascript
小程序实现多个选项卡切换
Jun 19 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
多文件上传的例子
2006/10/09 PHP
基于PHP与XML的PDF文档生成技术
2006/10/09 PHP
PHP之变量、常量学习笔记
2008/03/27 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
如何让CI框架支持service层
2014/10/29 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python中生成Epoch的方法
2017/04/26 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
党组织公开承诺书
2014/03/29 职场文书
党员教师一句话承诺
2014/05/30 职场文书
2014年组织部工作总结
2014/11/14 职场文书
儿园租房协议书范本
2014/12/02 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
丧事主持词
2015/07/02 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript