详谈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 validate.js表单验证的基本用法入门
May 13 Javascript
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
基于jquery的点击链接插入链接内容的代码
Jul 31 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
js获取会话框prompt的返回值的方法
Jan 10 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 Javascript
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
vue组件之Alert的实现代码
Oct 17 Javascript
webpack 模块热替换原理
Apr 09 Javascript
小程序图片长按识别功能的实现方法
Aug 30 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 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
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
星球大战与Python之间的那些事
2016/01/07 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
Python3中的json模块使用详解
2018/05/05 Python
python爬虫实例详解
2018/06/19 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
python代码编写计算器小程序
2020/03/30 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
谈谈python垃圾回收机制
2020/09/27 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
绩效工资分配方案
2014/01/18 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
Python并发编程实例教程之线程的玩法
2021/06/20 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Nginx限流和黑名单配置
2022/05/20 Servers
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL