详谈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 相关文章推荐
js左侧多级菜单动态的解决方案
Feb 01 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
Feb 07 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
javascript中的altKey 和 Event属性大全
Nov 06 Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
JS实现json的序列化和反序列化功能示例
Jun 13 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
js中let和var定义变量的区别
Feb 08 Javascript
详解webpack运行Babel教程
Jun 13 Javascript
解决layui页面按钮点击无反应,也不报错的问题
Sep 29 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长字符串定义方法
2012/07/12 PHP
PHP 快速排序算法详解
2014/11/10 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
PHP如何使用Memcached
2016/04/05 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
tensorflow 变长序列存储实例
2020/01/20 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
给学校的建议书
2014/03/12 职场文书
低碳环保口号
2014/06/12 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
会计岗位工作总结
2015/08/12 职场文书
高二语文教学反思
2016/02/16 职场文书
护理自荐信
2019/05/14 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技