继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript学习之DOM(节点、节点层级、节点操作)

幕布斯7119047
关注TA
已关注
手记 432
粉丝 28
获赞 99

目录
节点
概念
节点的属性
节点层级
概念
节点操作
创建新节点
增添和删除节点
复制节点
练习
节点
概念
一个页面就是一个节点树,页面中的内容就是节点。

例如:HTML文档可以看作是一个节点树,网页中的所有内容都是节点。

节点的属性
(1)节点类型(nodeType)

A、1表示为元素节点(即标签)

B、2表示为属性节点(标签的属性)

C、3表示为文本节点(标签的内容),文本节点包括文字、空格、换行等

(2)节点名称(nodeName)

(3)节点值(nodeValue)

节点层级
概念
一个HTML文件可以看作是所有元素组成的一个节点树,各元素节点之间有级别的划分。

DOM根据HTML中各节点的不同作用,可将其分别划分为标签节点(元素节点)、文本节点和属性节点。

(1)节点之间的层级关系:

节点层级

段落...

1 2 3 4 5 6 7 8 9 10 11 根节点:标签是整个文档的根节点,有且仅有一个

父节点:指的是某一个节点的上级节点

子节点:指的是某一个节点的下级节点

兄弟节点:两个节点同属于一个父节点(p标签和a标签就是兄弟节点)

(2)获取父节点的方式:
parentNode属性:来获得离当前元素的最近的一个父节点

(3)获取子节点、子元素的方式:

A、childNodes属性:返回当前节点的所有子节点的集合,返回的节点包括元素、文本和其他节点

B、children属性:只返回子元素节点的集合(标签的集合)

C、firstChild属性:返回第一个子节点(元素节点或文本节点)

D、firstElementChild属性:返回第一个子元素(第一个子标签)

E、lastChild属性:返回最后一个子节点(元素节点或文本节点)

F、lastElementChild属性:返回最后一个子元素)(最后一个子标签)

obj.children[0] // 获取第一个子元素节点
obj.children[obj.children.length - 1] // 获取最后一个子元素节点
1
2

(4)获取兄弟节点、兄弟元素的方式

A、nextSibling属性:返回后一个兄弟节点

B、previousSibling属性:返回前一个兄弟节点

C、nextElementSibling属性:返回下一个兄弟元素

D、previousElementSibling属性:返回前一个兄弟元素

节点操作
创建新节点
(1)通过createElement创建元素节点(创建标签);

通过createTextNode创建文本节点

(2)补充:

动态创建元素节点的3种常见方式如下:

document.write()创建元素,如果页面文档流加载完毕,再调用会导致页面重绘

element.innerHTML将内容写入某个DOM节点,不会导致页面全部重绘

document.createElement()创建多个元素效率稍微低一点,但是结构更加清晰

增添和删除节点
appendChild()方法,将一个节点添加到指定父节点的子节点列表末尾

insertBefore(child, 指定元素)方法,将一个节点添加到父节点的指定子节点前面

removeChild(child)用于删除节点,该方法从DOM中删除一个子节点,返回删除的节点

复制节点
cloneNode(deep)
1
注意:
deep是逻辑值,true表示深拷贝,即复制当前节点及其所有子节点(默认值)

false表示浅拷贝,只复制当前节点不复制其子节点。

练习

插入节点

输入文本: 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

————————————————
作者:星河梦~

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP