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 相关文章推荐
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
Apr 01 Javascript
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
Dec 08 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
js实现图片加载淡入淡出效果
Apr 07 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
js实现随机数小游戏
Jun 28 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 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
终于听上了直流胆调频
2021/03/02 无线电
深入PHP magic quotes的详解
2013/06/17 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
JavaScript 学习笔记(五)
2009/12/31 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
python避免死锁方法实例分析
2015/06/04 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
物业管理毕业生个人的求职信
2013/11/30 职场文书
和平主题的演讲稿
2014/01/12 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
大客户经理岗位职责
2015/04/09 职场文书