详谈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 字符串切割函数substring的用法说明
Feb 11 Javascript
jquery单行文字向上滚动效果的实现代码
Sep 05 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
javascript消除window.close()的提示窗口
May 20 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
JS排序之选择排序详解
Apr 08 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
js实现简易拖拽的示例
Oct 26 Javascript
Javascript文本框脚本实现方法解析
Oct 30 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
建立文件交换功能的脚本(二)
2006/10/09 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python开发之thread实现布朗运动的方法
2015/11/11 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python GUI模拟实现计算器
2020/06/22 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
实习生自荐信范文分享
2013/11/27 职场文书
高三政治教学反思
2014/02/06 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
大二学年个人总结
2015/03/03 职场文书
行政申诉状范文
2015/05/20 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS