旧书之城 发表于 2023-11-21 08:06:53

什么是DOM?

概念

DOM(Document Object Model , 文档对象模型) ;
简单来说,浏览器会将整个网页看成一棵节点树;而Js语言需要通过一种动态的技术去操作这棵树,这种技术就是DOM

一张网页的树性结构

例如下面这张代码的网页
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DOM</title>
</head>
<body>
   
      <h1>这是标题</h1>
   
   
      <img src="https://www.cnblogs.com/logo-short.png"/>
      简介...
   
</body>
</html>DOM会解析成如下结构

可见,在解析渲染一个网页的时候, 运行环境不会简单的把文本信息看成一个字符串, 而是解释为一棵树, 每个元素都是其上面的一个节点
不仅是带标签的元素(例如
) 会被当成一个节点,一段文本或者简单的一个换行符也会被当成一个节点
每个节点都会有一个nodeType属性值,这个属性标记了此节点是什么类型
nodeType值节点类型举例1元素节点
3文字节点我是小明8注释节点9document节点document节点只有一个…Document 对象

document 对象封装了一整棵HTML的属性结构, 它是DOM节点的根
document对象的 nodeType 属性是 9 ,每张网页只有一个document对象
为了验证上面我们说的正确性,我们随便找个网站试下,打开百度 ,在控制台中输入 document , 它会把整个网页返给我们

随后,我们检测下document的nodeType, 会返回9

    微信公众号

来源:https://www.cnblogs.com/haloujava/p/17845101.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 什么是DOM?