详谈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 相关文章推荐
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 Javascript
JavaScript中继承的一些示例方法与属性参考
Aug 07 Javascript
基于jQuery的动态表格插件
Mar 28 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
vue.js删除动态绑定的radio的指定项
Jun 02 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
bootstrap 路径导航 分页 进度条的实例代码
Aug 06 Javascript
基于javascript实现放大镜特效
Dec 03 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+DBM的同学录程序(5)
2006/10/09 PHP
php结合飞信 免费天气预报短信
2009/05/07 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
vc6编写python扩展的方法分享
2014/01/17 Python
Python中自定义函数的教程
2015/04/27 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
python使用tornado实现简单爬虫
2018/07/28 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
英国现代绅士品牌:Hackett
2017/12/17 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
网络管理员岗位职责
2014/03/17 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
公司股权转让协议书
2014/04/12 职场文书
2014组织生活会方案
2014/05/19 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
青春飞扬演讲稿
2014/09/11 职场文书