详谈DOM简介及节点、属性、查找节点的方法


Posted in Javascript onNovember 16, 2017

DOM(Document Object Modle) 操作文档的编程接口

DOM定义了表示和修改文档的方法,不能修改css样式表,在js中使用DOM方法改变元素的css样式,实质上是在元素上添加行间样式。

DOM对象就是宿主对象,用来操作HTML和xml功能对象的集合。 xml——>xhtml——>html4.0——>html5

HTML和xml的区别:除了xml可以自定义标签外基本上没区别,xml被json替代了。

document,单独写的时候,它代表整个文档,隐式的写在html标签的上一层,html只是文档中的根标签。

注意点:BOM、DOM成组的东西都是类数组,而不是数组。

获取元素的方法:

getElementById();

在IE8以下的浏览器不区分id值得大小写,并且匹配元素的name的属性值。由于后台会修改id值,所以尽量不用或少用id。

getElementsByTagName();标签名,所有浏览器都支持

getElementsByClassName(); IE8及其以下得浏览器不支持

getElementsByName(); 在旧版本中,只有能提交请求的标签的name才生效(form、表单元素、img、iframe)

document.querySelector(); css选择器,IE7及以下不兼容,并且不具有实时性。

document.querySelectAll();

节点类型:

元素节点 1

属性节点 2

文本(text)节点 3 // 文本、空格、回车等都是文本节点

注释(comment)节点 8

document节点 9

documentfragment 11

遍历节点数:

parentNode 子节点的父节点,最终的parentNode节点是document节点。

childNodes 父节点的所有子节点,元素节点、注释节点、文本节点

firstChild 第一个子节点

lastChild 最后一个子节点

nextSibling 下一个兄弟节点

previousSibling 前一个兄弟节点

遍历元素节点数:(除了children节点,其他的都是IE9及以下不兼容)

parentElement 元素的父元素节点,最终的父元素节点是html元素,document是自成节点。

children 父元素下的元素子节点。

node.childElementCount === node.children.length 当前子节点的元素子节点个数。用children.length。

firstElementChild 第一个元素子节点

lastElementChild 最后一个元素子节点

nextElementSibling、previousElemnetSibling

节点的四个属性:

nodeName 除了元素节点,返回的结果前面都有一个‘#',而元素节点返回大写形式的标签名,类型都为只读。

nodeValue 只用于文本节点和注释节点,可读写。

nodeType 返回数字,该数字代表对应的节点类型。只读

attributes 元素节点的属性集合。

node.hasChildNodes()方法,判断父节点里面是否有子节点,返回结果为布尔值。

以上这篇详谈DOM简介及节点、属性、查找节点的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
Jun 28 Javascript
图片加载完成再执行事件的实例
Nov 16 #Javascript
详解React 在服务端渲染的实现
Nov 16 #Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 #Javascript
详解React Native 采用Fetch方式发送跨域POST请求
Nov 15 #Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 #Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 #Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 #Javascript
You might like
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
详解Vue如何支持JSX语法
2017/11/10 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL