Day 55 前端学习笔记:DOM 对象(上)
Part 1:什么是 DOM
HTML Document Object Model(文档对象模型)
HTML DOM 定义了访问和操作HTML文档的标准方法
HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)

画dom树是为了展示文档中各个对象之间的关系,用于对象的导航。
Part 2: DOM节点
HTML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点

其中,document与element节点是重点。
Part 3: 节点关系
节点树中的节点彼此拥有层级关系。
父(parent),子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
- 在节点树中,顶端节点被称为根(root)
- 每个节点都有父节点、除了根(它没有父节点)
- 一个节点可拥有任意数量的子
- 同胞是拥有相同父节点的节点
访问 HTML 元素(节点),访问 HTML 元素等同于访问节点,我们能够以不同的方式来访问 HTML 元素。
document.getElementById(“idname”)
document.getElementsByTagName(“tagname”)
document.getElementsByName(“name”) document.getElementsByClassName(“name”)parentElement // 父节点标签元素
children // 所有子标签
firstElementChild // 第一个子标签元素
lastElementChild // 最后一个子标签元素
nextElementtSibling // 下一个兄弟标签元素
previousElementSibling // 上一个兄弟标签元素
Part 4: onclick 与 this
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p id="p1">hello</p> <ul> <li>111</li> <li>222</li> <li>333</li> </ul> </body> <script> var eles_li=document.getElementsByTagName("li"); for(i=0;i<eles_li.length;i++) { eles_li[i].onclick = function () { alert(this.innerText) // 注意这里的this代指onlick时选中的对象,并且不能被eles_li[i]所取代,因为此时的i永远为3 } } </script> </html>

浙公网安备 33010602011771号