document.body 与 document.documentElement区别介绍
什么是document.body?
返回html dom中的body节点 即<body>
什么是 document.documentElement?
返回html dom中的root 节点 即<html>
document.documentElement 与 document.body的应用场景
获取 scrollTop 方面的差异
在chrome(版本 52.0.2743.116 m)下获取scrollTop只能通过document.body.scrollTop,而且DTD是否存在,不会影响 document.body.scrollTop的获取。通过console查看结果:demo 1 with doctype : http://jsbin.com/cisacam demo 2 without doctype: http://jsbin.com/kamexad/16
在firefox(47.0)及 IE(11.3)下获取scrollTop,DTD是否存,会影响document.body.scrollTop 与 document.documentElement.scrollTop的取值
在firefox(47.0)页面存在DTD,使用document.documentElement.scrollTop获取滚动条距离; 页面不存在,使用document.body.scrollTop 获取滚动条距离demo 1 with doctype : http://jsbin.com/cisacam demo 2 without doctype: http://jsbin.com/kamexad/16
IE(11.3)
页面存在DTD,使用document.documentEelement.scrollTop获取滚动条距离页面不存在DTD,使用document.documentElement.scrollTop 或 document.body.scrollTop都可以获取到滚动条距离demo 1 with doctype : http://jsbin.com/cisacam demo 2 without doctype: http://jsbin.com/kamexad/16
兼容解决方案:
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
转载于:https://www.cnblogs.com/agansj/p/7874842.html
document.body 与 document.documentElement区别介绍相关推荐
- document.body、document.documentElement和window获取视窗大小的区别
来源:http://www.ido321.com/906.html 在w3school关于window对象的介绍中,介绍了获取浏览器窗口大小的三种方法(浏览器的视口,不包括工具栏和滚动条). 对于In ...
- document.body和document.documentElement的区别
document.body和document.documentElement的区别主要在<html>文件中有没有DTD声明. 详情参看<docuement.body和document ...
- “约见”面试官系列之常见面试题之第六十九篇之document.ready和onload的区别(建议收藏)
document.ready和onload的区别为:加载程度bai不同du.执行次数不同.执行速度zhi不同. 一.加载程度不同 1.document.ready:在DOM加载完成dao后就可以可以对 ...
- MongoDB:SpringBoot有关@Document(collection = )与@Document(collation= )注解的区别
目录 QUESTION:SpringBoot有关@Document(collection = "")与@Document(collation= "")注解的区别 ...
- document.ready和onload的区别
document.ready和onload的区别--JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是on ...
- javascript 中的window, document, screen都有什么区别?
谷歌之后,从stackoverflow上找到的高赞答案: https://stackoverflow.com/questions/9895202/what-is-the-difference-betw ...
- 关于document.selection和TextRange对象的介绍
document.selection只有IE支持 window.getSelection()也只有FireFox和Safari支持,都不是标准语法. selection 对象代表了当前激活选中区,即高 ...
- if vue 跳出_vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
vue如何简单的实现弹框,遮罩,点击其他区域关闭弹框, 简单的思路是以一个div作为遮罩, 控制其的v-if(v-show)即可, 掌握到技巧既可以任意扩展. v-if 是直接删除dom节点, 就是这 ...
- document 和 window.document
通常我在写javascript的时候从来没有意识到document和window.document之间是有区别的,实际使用过程中也确实没有遇到问题,但是这埋下了非常大的隐患,当出现问题时,这个bug就 ...
最新文章
- MIME 类型(HttpContext.Response.ContentType)列表
- oracle的用户账号密码设置
- Redhat Linux网卡配置与绑定
- 左神算法:用栈来求解限制后的汉诺塔问题(Java版)
- SpringMVC校验---SpringMVC学习笔记(八)
- JavaScript之判断用户登录信息
- 一文详解 Java 的八大基本类型!
- Vue路由及路由守卫
- linux强行退出线程,Linux 多线程编程--线程退出
- 4-Collection、List、Iterator和泛型
- 20种银河科幻风格ps字体样式
- windows操作系统32位与64位的含义
- tushare获取沪深300指数历史_tushare正确爬取 指数数据
- 5.秒杀模块-基于redis缓存商品秒杀信息
- 从前世看今生,从JavaEE到微服务
- 移动硬盘更改驱动器号和路径_如何在Windows 10中更改默认硬盘驱动器以保存文档和应用程序...
- 用chrome按F12抓包 页面跳转POST一瞬间就闪没了
- 创新实验室实习生每周工作总结【实习第四周】
- 分布式调度平台xxl-job的使用及其算法分析
- ueditor 图片上传 java_Spring+Vue整合UEditor富文本实现图片附件上传的方法
热门文章
- vnc连接服务器怎么修改配置,vnc连接服务器怎么配置
- linux hadoop 伪分布,linux配置Hadoop伪分布安装模式
- php大量数据库抽象,数据库的数据抽象有几个级别
- 移动端点击链接元素出现蓝色边框或者出现半透明蓝色背景
- linux oracle 删除为空的dbf,Linux上Oracle误删除一个没有用的dbf表空间文件
- 大蛋陪伴机器人_家长孩子都喜欢 阿尔法蛋大蛋2.0 AI学习机器人图赏
- 计算机网关,如何查看计算机的IP地址和网关
- c语言追踪机械腿位置,基于传感器的下肢可穿戴机械腿软件系统设计与实现
- aps后缀是什么文件_今日份知识分享:什么是源文件?
- oracle容器部署,Linux docker oracle 部署