DOM模型与节点
1. DOM模型
-
DOM(文档对象模型)就是把文档中的标签,属性,文本转换成对象来管理(类似于Java中的对象)
- document管理了所有的HTML文档内容
- document是一种树结构的文档,有层级关系
- document让我们把所有的标签都对象化
- 我们可以通过document访问所有的标签对象
-
对于一段代码来说,它的Document文档树内存结构可能如下:
<!DOCTYPE html> <html lang="en"> <head> <title>Title</title> </head> <body> <a href="https://www.baidu.com/">我的连接</a> <h1>我的标题</h1>> </body> </html> <!-- 根元素:<html> 元素:<head> 元素:<title> 文本:"文档标题" 元素:<body> 元素:<a> 属性:href 文本:"我的连接" 元素:<h1> 文本:"我的标题" -->
2. 节点
-
节点(Node)是构成HTML文档最基本的单元
-
节点分为四类:
- 文档节点:整个HTML文档
- 元素节点:HTML文档中的HTML标签
- 属性节点:元素的属性
- 文本节点:HTML标签中的文本内容
<p id="pId">This is a paragraph</p> <!-- id="pId"为属性节点 This is a paragraph为文本节点 <p id="pId">This is a paragraph</p>为元素节点 整个HTML文档为文档节点 -->
-
节点的属性
有时候根据需要,会获取节点的Name属性,而有时候会获取Value属性
nodeName nodeValue 文档节点 #document null 元素节点 标签名 null 属性节点 属性名 属性值 文本节点 #text 文本内容
2.1 节点的常用方法
childNodes:获取当前节点的所有子节点
- childNodes属性会获取包括文本节点在内的所有节点。也就是说标签之间的空白/换行也会算做节点
- (推荐) children属性可以获取当前元素的所有子元素
firstChild:获取当前节点的第一个子节点
- 存在和childNodes类似的问题
- (推荐) firstElementChild属性可以获取当前元素的第一个子元素
lastChild:获取当前节点的最后一个子节点
- 存在和childNodes类似的问题
- (推荐) lastElementChild属性可以获取当前元素的最后一个子元素
parentNode:获取当前节点的父节点
nextSibling:获取当前节点的下一个节点
- 存在和childNodes类似的问题
- (推荐) nextElementSibling属性可以获取当前元素的下一个兄弟元素
previousSlibling:获取当前节点的上一个节点
- 存在和childNodes类似的问题
- (推荐) previousElementSibling属性可以获取当前元素的上一个兄弟元素
原文地址:http://www.cnblogs.com/Solitary-Rhyme/p/16849741.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性