详谈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 最简单的属性菜单
Oct 08 Javascript
javaScript 动态访问JSon元素示例代码
Aug 30 Javascript
jquery用data方法获取某个元素上的事件
Jun 23 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
js实现简单秒表走动的时钟特效
Mar 25 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 Javascript
JavaScript中ES6 Babel正确安装过程
Jul 18 Javascript
浅谈JS之iframe中的窗口
Sep 13 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
ES6新数据结构Map功能与用法示例
Mar 31 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 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
人族 Terran 基本策略
2020/03/14 星际争霸
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
php curl模拟post请求小实例
2013/11/13 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
python MySQLdb使用教程详解
2018/03/20 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
.net软件工程师面试题
2015/03/31 面试题
python 镜像环境搭建总结
2022/09/23 Python