YSLOW性能测试前端调优23大规则(15)减少DOM数

前端优化
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深度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值