在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。

DOM 节点

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

整个文档是一个文档节点

每个 HTML 元素是元素节点

HTML 元素内的文本是文本节点

每个 HTML 属性是属性节点

注释是注释节点

HTML DOM 节点树

HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:

HTML DOM Tree 实例

通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。

节点父、子和同胞

节点树中的节点彼此拥有层级关系。

父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

在节点树中,顶端节点被称为根(root)

每个节点都有父节点、除了根(它没有父节点)

一个节点可拥有任意数量的子

同胞是拥有相同父节点的节点

下面的图片展示了节点树的一部分,以及节点之间的关系:

请看下面的 HTML 片段:

DOM 教程

DOM 第一课

Hello world!

从上面的 HTML 中:

节点没有父节点;它是根节点

文本节点 "Hello world!" 的父节点是

节点

并且:

节点拥有两个子节点:

和 节点 节点也拥有一个子节点:文本节点 "DOM 教程"

节点是同胞节点,同时也是

的子节点

并且:

元素是 元素的首个子节点

元素是

元素的最后一个子节点

警告!

DOM 处理中的常见错误是希望元素节点包含文本。

在本例中:

DOM 教程,元素节点 ,包含值为 "DOM 教程" 的文本节点。

可通过节点的 innerHTML 属性来访问文本节点的值。

您将在稍后的章节中学习更多有关 innerHTML 属性的知识。

html dom节点源码,HTML DOM HTML DOM 节点 - 闪电教程JSRUN相关推荐

  1. html dom节点源码,JavaScript操作HTML DOM节点的基础教程

    因为 DOM 的存在,这使我们可以通过 JavaScript 来获取.创建.修改.或删除节点. NOTE:下面提供的例子中的 element 均为元素节点. 获取节点 父子关系 element.par ...

  2. storm-hbase jar包中的bolt节点源码解析

    一段时间内,大家都是自己在storm的节点中实现对hbase的操作,不管是普通的topo还是在trident中都是这样:不知道从那个版本起,在storm的压缩包中就多出了好几个jar包,把针对habs ...

  3. javascript 原生类 DOMParser 把 字符串格式的HTML文档源码 转换成 document DOM对象

    文章目录 Intro QA DOMParser 在 console 的使用 cheerio 在 node 项目中的使用 Reference 测试 sum Intro 有一天我在写爬虫. 其实也说不上是 ...

  4. DOM替换replaceWith()和replaceAll() 之前学习了节点的内插入、外插入以及删除方法,这节会学习替换方法replaceWith .replaceWith( newConten

    DOM替换replaceWith()和replaceAll() 之前学习了节点的内插入.外插入以及删除方法,这节会学习替换方法replaceWith .replaceWith( newContent ...

  5. 第一百四十一节,JavaScript,封装库--DOM加载

    JavaScript,封装库--DOM加载 DOM加载,跨浏览器封装DOM加载,当网页文档结构加载完毕后执行函数,不等待图片音频视频等文件加载完毕 /** dom_jia_zai()函数,DOM页面加 ...

  6. 【读书笔记】【WebKit技术内 幕(二)】Chromium Webkit资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器和样式布局、网页层次与渲染、绘图上下文、

    文章目录 前言 Something great 第4章 资源加载和网络栈 Webkit 资源加载 Chromium多进程资源加载 Chromium 网络栈 第5章 HTML解释器和DOM模型 DOM模 ...

  7. pyV8不支持dom操作,关于PyV8的支持DOM的疑问

    pyV8不支持dom操作,关于PyV8的支持DOM的疑问 PYV8只支持纯js语句.不过官方提供了w3c.py以及brower.py,可以基于此来完成,但这个用起来还是比较麻烦. 在爬取网站时,需要提 ...

  8. 虚拟dom添加虚拟dom_虚拟DOM缓慢。 认识记忆化的DOM

    虚拟dom添加虚拟dom by Sindre Osen Aarsaether 通过Sindre Osen Aarsaether 虚拟DOM缓慢. 符合已记忆的DOM. (The Virtual DOM ...

  9. 在dom最前面插入_JavaScript中的DOM

    1. 关于DOM 文档对象模型(DocumentObject Model),是基于浏览器编程的一套API接口,W3C出台的推荐标准,每个浏览器都有一些细微的差别,其中以Mozilla(火狐)的浏览器最 ...

最新文章

  1. android 开发清理内存_2019年 11 款最流行的安卓手机清理工具 总有一款适合你
  2. 关于scws分词的一些记录
  3. python idle 清屏问题的解决
  4. Android学习第三天--事件监听器
  5. AjaxControlToolkit工具控件之Accordion错误解决方法
  6. Pythonipython安装注意事项
  7. html页面色块布局代码,Html 实现动态显示颜色块的报表效果(实例代码)
  8. 伯克利弹跳机器人再进化:超精准着陆,指哪打哪
  9. Android GridView 分页加载数据
  10. oracle中的游标的原理和使用详解
  11. codeblocks设置代码黑色主题
  12. 长江水位查询天气查询
  13. vscode工作区是什么意思_VS Code中的“工作区”是什么?
  14. delete 的用法(Hive)(SQL)
  15. 科学计算机安卓图像,图形科学计算器Pro
  16. UCenter Home 正式开源 促进国内SNS网站发展
  17. Sicily1059-Exocenter of a Trian
  18. 启动IDEA时出现error launching idea failed to create jvm的解决办法
  19. 有趣的姓名小知识:你身边有叫沐宸和若汐的宝宝吗?
  20. Linux打印口/LPT口出厂测试工具与使用说明

热门文章

  1. 二叉树(Binary Trees)
  2. 在html页面中怎么打印区域,网页打印代码,可以打印指定区域的
  3. MySQL Authentications
  4. NB,用这一篇文章带你了解什么是爬虫?
  5. 2022年欢迎来到Jsp编程第二课:JSP核心九大内置对象
  6. Java Web入门之JSTL标签的解析及使用(超详细必看)
  7. 基于视觉导航的自主机器人简介(一)
  8. 每个糙爷们背后都有颗柔软的心
  9. centos7.2 下 ffmpeg交叉编译(安卓版x86_64)
  10. 现代化物流对应术语解释