当前位置: 代码迷 >> JavaScript >> 有没有一种方法可以在不使用标记名的情况下调用HTML元素?
  详细解决方案

有没有一种方法可以在不使用标记名的情况下调用HTML元素?

热度:75   发布时间:2023-06-05 16:27:50.0

这是一个简单的问题:是否可以不使用以下方法调用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

您还可以通过使用parentElementparentNode向上导航来获取对根<html>元素的引用:

var anyElement = document.getElementById('somethingOtherThanHtml');
var htmlElement = anyElement;
while( htmlElement.tagName != "HTML" ) {
    htmlElement = htmlElement.parentElement;
}

而且document也是window的成员(实际上, window是所有浏览器网页脚本编写方案中的“根对象”),因此,如果只有window ,则可以进入window.document.documentElement等。

您可以参考document.documentElement

 console.log(document.getElementsByTagName('HTML')[0] === document.documentElement); 

您可以将ID添加到HTML元素,然后使用document.getElementById(“ idOfTheElement”)

您可以使用诸如document.getElementByClassName("classname")东西。

classname代表该标签的类

您可以使用queryselector:

document.querySelector('HTML')
  相关解决方案