能否通过window对象获取<html>根元素的引用?是否有更简便的方式?
获取元素的最优方式
你可以直接使用document.documentElement来获取元素的引用,这是标准且最简便的写法,完全替代你提到的document.getElementsByTagName("html")[0]。
为什么这是最优解?
- 这是DOM API提供的原生属性,直接指向文档的根元素(即),无需执行DOM查询操作,性能更优
- 写法简洁直观,不需要处理查询返回的HTMLCollection数组,避免了取索引
[0]的冗余操作
举个实际使用的例子:
const htmlElement = document.documentElement; // 直接访问你需要的clientHeight属性 console.log(htmlElement.clientHeight);
你设想的document.htmlElement并不是标准DOM API,无法正常工作,而document.documentElement是所有现代浏览器都支持的标准属性,完全能满足你的需求。
补充:你关注的
clientHeight属性确实能反映窗口高度减去水平滚动条及边框后的高度,和你的测试场景匹配。
内容的提问来源于stack exchange,提问作者htho
相关产品推荐
相关产品推荐

