js的DOM

什么是DOM
1.DOM–> Document Object Model

2…DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和css功能的一类对象的集合。也有人称DOM是对HTML以及XML的标准编程接口。
DOM的基本操作

对DOM 进行查看:
查看元素结点
1.document 代表整个文档

2.document.getElementById();–>查看元素id,在Ie8以下的浏览器,不区分id大小写,而且也返回匹配name属性的元素

3.document.getElementsByTagName() --> 标签名

4.document.getElementByName();–>需注意,只有部分标签name可生效(表单,表单元素,img,iframe)

5.document.getElementsByClassName() -->类名 ie8和ie8以下的ie版本中没有,可以多个class一起

6.document.querySelector() --> css选择器 在ie7和ie7以下的版本中没有

7.document.querySelectorAll() --> css选择器 在ie7和ie7以下的版本中没有

遍历节点树:
parentNode --> 父节点 (最顶端的parentNode为#document);
childNodes --> 子节点们
firstChild --> 第一个子节点
lastChild --> 最后一个子节点
nextSibling–>后一个兄弟元素
previousSibling–>前一个兄弟元素
举个例子:
在html

<div>
		123
		<!-- this is conment -->
		<p></p>
		<span></span><strong></strong>
	</div>

在sscript

var div = document.getElementsByTagName('div')[0];
var span = document.getElementsByTagName('span')[0];

在这里插入图片描述
其中div的节子点们一共有8个,因为文字和注释以及每个节子点之间都有一些缝隙空间,这些也属于div的节子点们。

基于元素节点树的遍历
parentElement --> 返回当前元素的父元素节点 (IE不兼容)

children --> 只返回当前元素的元素子节点

node.childElementCount === node.children.length当前元素节点的子元素节点个数(IE不兼容)

firstElementChild --> 返回的是第一个元素节点(IE不兼容)

lastElementChild --> 返回的是最后一个元素节点(IE不兼容)

nextElementSibling / previousElementSibling ->返回后一个/前一个兄弟元素节点(IE不兼容)

除了children这个属属性在IE中兼容,其它都不兼容

举个例子:

<

div>
		123
		<!-- this is conment -->
		<p></p>
		<span></span><strong></strong>
	</div>

在sscript

var div = document.getElementsByTagName('div')[0];
var span = document.getElementsByTagName('span')[0];

在这里插入图片描述
元素节点不包括text文本 comment注释和缝隙空间

节点的四个属性
nodeName:元素的标签名,以大写形式表示,只读
nodeValue:Text节点或Comment节点的文本内容,可读写
nodeType:该节点的类型,只读
attributesElement: 节点的属性集合
节点的一个方法 Node.hasChildNodes();

节点的类型
元素节点 —— 1
属性节点 —— 2
文本节点 —— 3
注释节点 —— 8
document —— 9
DocumentFragment —— 11
获取节点类型 nodeType

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值