详谈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 Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
Javascript实现div层渐隐效果的方法
May 30 Javascript
6种javascript显示当前系统时间代码
Dec 01 Javascript
详解jQuery中的empty、remove和detach
Apr 11 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
Jun 06 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 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的无限分类实现想法~
2007/01/02 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
Postman的下载及安装教程详解
2018/10/16 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
Python函数参数类型*、**的区别
2015/04/11 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
深入浅析Python中的迭代器
2019/06/04 Python
对Python _取log的几种方式小结
2019/07/25 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
python多线程实现TCP服务端
2019/09/03 Python
python 图像增强算法实现详解
2021/01/24 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
七年级数学教学反思
2014/01/22 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
实习报告评语
2014/04/26 职场文书
节能环保口号
2014/06/12 职场文书
课程设计的心得体会
2014/09/03 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书