JavaScript中Dom操作实例详解


Posted in Javascript onJuly 08, 2019

本文实例讲述了JavaScript中Dom操作。分享给大家供大家参考,具体如下:

博主将按照增删改查的方式来介绍一下Dom的主要操作。

1、增加节点

添加节点的操作主要分为3步:

(1)创建要添加的新节点
(2)找到要添加到的父节点
(3)父节点添加新节点

参考代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
  <script>
    function add(){
      //新建要增加的节点
      var li = document.createElement('li');
      var txt = document.createTextNode('北');
      li.appendChild(txt);
      //找到要添加到的父节点
      var ul = document.getElementsByTagName('ul')[0];
      //添加到父节点
      ul.appendChild(li);
    }
  </script>
</head>
<body>
  <input type="button" value="增加一个节点" onclick="add();">
  <ul>
    <li>东</li>
    <li>南</li>
    <li>西</li>
  </ul>
</body>
</html>

2、删除节点

删除节点的操作主要分为3步:

(1)先找到要删除的节点
(2)找到其父节点
(3)调用父节点的removeChild(删除的节点)操作

参考代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
  <script>
    function del(){
      //找到要删除的节点
      var lis = document.getElementsByTagName('li');
      var lastli = lis[lis.length - 1];
      //让父节点来进行删除操作
      lastli.parentNode.removeChild(lastli);
    }
  </script>
</head>
<body>
  <input type="button" value="删除最后一个节点" onclick="del();">
  <ul>
    <li>东</li>
    <li>南</li>
    <li>西</li>
    <li>北</li>
  </ul>
</body>
</html>

3、修改节点

修改操作主要是修改节点的属性,如修改img节点的src属性

但是有几点需要注意:

(1)如果需要操作dom对象的class属性,应该使用className属性

document.getElementsByTagName('div')[0].className = 'test2';

(2)如果需要修改dom对象的样式,应该使用 obj.style.css样式名

document.getElementsByTagName('div')[0].style.width = parseInt(div.style.width) + 5 + 'px';

(3)遇到有这样带-的样式,如:border-bottom-width,应这样修改样式,将-去掉,然后将-后的首字母改为大写

div.style.borderBottomWidth = parseInt(div.style.borderBottomWidth) + 5 + 'px';

4、查找节点

(1)根据id进行查找,返回对象:

document.getElementById('test1');

(2)根据标签名进行查找,返回对象集合:

document.getElementsByTagName('p');

(3)对于表单元素,按照name值进行查找,返回对象集合:

document.getElementsByName('username');

(4)根据class名进行查找,返回对象集合:

document.getElementsByClassName('test2');

(5)查找对象的子节点,childNodes属性包括文本节点(换行),返回对象集合

alert(document.getElementById('test1').childNodes.length);//打印包括文本节点的数量
alert(document.getElementById('test1').children.length);//children属性虽然不符合w3c规范,但是浏览器支持良好

(6)查找对象的父节点,使用parentNode,返回单个对象

document.getElementsByTagName('p')[0].parentNode.style.border = '1px solid black';

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
基于jquery实现等比缩放图片
Dec 03 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
跟我学习JScript的Bug与内存管理
Nov 18 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
微信小程序实现动态列表项的顺序加载动画
Jul 25 Javascript
小程序如何支持使用 async/await详解
Sep 12 Javascript
jQuery 查找元素操作实例小结
Oct 02 jQuery
js实现鼠标滑动到某个div禁止滚动
Sep 17 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 #Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 #Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 #Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 #Javascript
Vue中util的工具函数实例详解
Jul 08 #Javascript
详解基于 Node.js 的轻量级云函数功能实现
Jul 08 #Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 #Javascript
You might like
解析php开发中的中文编码问题
2013/08/08 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
求职信格式要求
2014/05/23 职场文书
集体生日活动方案
2014/08/18 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
python opencv通过4坐标剪裁图片
2021/06/05 Python
一文搞懂php的垃圾回收机制
2021/06/18 PHP
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python