documentElment和body

documentElment和body

为什么有的是通过documentElement获取,有的通过body获取呀?

documentElement返回html,body难道不是html的子元素吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2019-12-19 17:18:16

同学你好,问题解答如下:

1、clientHeight获取的是视口高度,只能用document.documentElement获取。

2、scrollHeight是滚动高度,也就是页面高度,通过document.body或者document.documentElement获取都是可以的,不固定。可以将视频中的获取方式修改成另一个。

同学可以输出看看这两个属性的值是多少就明白,祝学习愉快!

好帮手慕星星 2019-12-19 11:06:21

同学你好,body是html的子元素,通常两个元素大小一样。

但是部分浏览器不支持通过body获取页面滚动的高度,例如Chrome:

http://img1.sycdn.imooc.com//climg/5dfae8b8097113ec08250383.jpg

页面滚动,通过body获取滚动高度一直是0,通过documentElement获取滚动高度就是正常的:


http://img1.sycdn.imooc.com//climg/5dfae8ca09f2b35e04610460.jpg

所以代码通常两个一起写,兼容不同浏览器获取滚动高度:

http://img1.sycdn.imooc.com//climg/5dfae92409fc67db13970313.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 hyperse #1
    那为什么clientHeight用documentElement获取,scrollHeight用body获取呢?这两个高度也没有用兼容的写法呀?
    2019-12-19 15:19:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师