javascript - 有没有办法在不使用标记名的情况下调用 HTML 元素?
问题描述
这是一个简单的问题:有没有办法在不使用的情况下调用 HTML 元素:
document.getElementsByTagName('HTML')[0]
使用 JavaScript。为了得到身体,你可以做:
document.body
有没有更简单的方法来用 JavaScript 做到这一点?
解决方案
所有这些都可以用来获取对<html>
元素的引用:
document.documentElement
document.querySelector('html')
document.querySelectorAll('html')[0]
document.getElementById('foo')
- 如果<html id="foo">
设置document.getElementsByClassName('bar')[0]
- 如果<html class="bar">
设置document.getElementsByTagName('html')[0]
document.head.parentElement
document.body.parentElement
您还可以通过使用or<html>
向上导航来获取对根元素的引用:parentElement
parentNode
var anyElement = document.getElementById('somethingOtherThanHtml');
var htmlElement = anyElement;
while( htmlElement.tagName != "HTML" ) {
htmlElement = htmlElement.parentElement;
}
并且document
也是其中的一员window
(其实window
就是所有浏览器网页脚本场景中的“根对象”),所以只要有window
就可以去window.document.documentElement
等等。
推荐阅读
- javascript - create-react-app (TypeScript) .babelrc throwIfNamespace=true 设置
- python - Python Dataframes:根据 groupby 条件过滤数据框
- python-3.x - 将 Pandas Dataframe 转换为 LSTM 输入张量
- jpa - spring-boot-service 访问存储库中的 SELECT 和 UPDATE 顺序错误
- c# - 带有 Visual Studio mac 的 Cocoa 应用程序 - 使用 C# 在单击按钮时以编程方式创建 NSButton
- android - 将 YUV NV21 字节数组的 Y 值重新映射为位图
- java - 如何在java中找到2个时间戳之间的日差
- javascript - 让 Google 地图与 AngularJS 一起工作
- java - 在 Web 应用程序中使用 QR 进行移动身份验证
- forms - 隐藏在联系表格中的 IP 地址