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 相关文章推荐
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
JavaScript Chart 插件整理
Jun 18 Javascript
Dom操作之兼容技巧分享
Sep 20 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
JavaScript匿名函数与委托使用示例
Jul 22 Javascript
原生javascript实现图片滚动、延时加载功能
Jan 12 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
Javascript实现网络监测的方法
Jul 31 Javascript
jquery表单插件Autotab使用方法详解
Jun 24 Javascript
Vue-cli@3.0 插件系统简析
Sep 05 Javascript
js指定日期增加指定月份的实现方法
Dec 19 Javascript
vue+spring boot实现校验码功能
May 27 Vue.js
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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
谈谈python中GUI的选择
2018/03/01 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python日期相关操作实例小结
2019/06/24 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
PyTorch安装与基本使用详解
2020/08/31 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
某科技软件测试面试题
2013/05/19 面试题
继承权公证书
2014/04/09 职场文书
跳槽求职信范文
2014/05/26 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
劳模先进事迹材料
2014/12/24 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript