网站首页 > 开源技术 正文
HTML DOM(HTML Document Object Model)是专门适用于HTML/XHTML的文档对象模型,定义了访问和操作HTML文档的标准方法,通常我们也可以将HTML DOM理解为网页的API。HTML DOM将网页中的各个元素都看作为对象,这样可以让网页中的元素被计算机语言获取或者编辑。
DOM是一种与浏览器、平台、语言无关的接口,DOM是以层次结构组织或信息片断集合,HTML DOM把HTML文档呈现为带有元素、属性和文本的树结构(节点树)。HTML DOM树所示。
通过HTML DOM,树中的所有节点均可通过JavaScript进行访问。所有HTML元素(节点)均可被修改,也可以创建或删除节点。
节点分父节点(parent)、子节点(child)、同胞节点(sibling),节点树中的节点彼此拥有有层级关系,父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
? 在节点树中,顶端节点被称为根(root)
? 每个节点都有父节点、除了根节点之外,根节点是没有父节点的。
? 一个节点可拥有任意数量的子
? 同胞是指拥有相同父节点的节点
节点节点之间的关系如图所示。
JavaScript或其他语言会通过HTML DOM对HTML中的元素进行访问,包括修改节点的属性值、插入新的节点、删除节点等操作。那么为了提高性能,前端页面的HTML DOM则应该越小越好,如果HTML DOM过多,这些会导致以下几个方面的问题:
1) HTML DOM数越多,越复杂,意味着页面加载时下面的字节数就越多。
2) HTML DOM数年越多,那么遍历和查找元素的时间就会越长。
需要获取页面中的DOM数,可以在Firebug的控制台中,输入以下命令。
document.getElementsByTagName('*').length
雅虎团队建议DOM的数量不要超过700,但现在的页面越来越复杂,一般类似雅虎这类资讯类的网站都远超过700。下面是几个我们比较熟悉的网站的DOM数。
所以在前端开发时应该尽量降低DOM数,减少DOM数的方法通常有以下几种:
1. 避免不正确地使用服务器控件。
2. 减少不必要的页面内容。
3. 如果数据量大,可以考虑分页,或者按需加载。
4. 最小化DOM深度。
猜你喜欢
- 2024-10-07 前端进阶,提高技能(前端如何快速提升自己)
- 2024-10-07 性能测试YSLOW前端调优23大规则(七)——避免使用CSS表达式
- 2024-10-07 著名ARPG伊苏系列的新作《伊苏8》
- 2024-10-07 「优化连载三」前端优化(前端优化是做什么的)
- 2024-10-07 大型网站Web前端优化最佳实践,以及最全优化工具集锦
- 2024-10-07 史上最全java架构师技能图谱(上)(java架构师进阶之路)
- 2024-10-07 性能测试YSLOW前端调优23大规则(十)——精简JavaScript和CSS
- 2024-10-07 入门学习web前端的一点小建议(web前端怎么学好)
- 2024-10-07 前端学习路线(前端怎么学)
- 2024-10-07 零基础学前端看哪些书?(零基础学前端书籍推荐)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)