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

时间:2019-03-03 04:13:45

标签: javascript html

这是一个简单的问题: 是否有一种无需使用即可调用HTML元素的方法:

document.getElementsByTagName('HTML')[0]

使用JavaScript。为了得到身体,你可以做:

document.body

是否有使用JavaScript的更简单方法?

5 个答案:

答案 0 :(得分:2)

所有这些都可用于获取对<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

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

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

并且document也是window的成员(实际上,window是所有浏览器网页脚本方案中的“根对象”),因此如果您只有{ {1}},您可以转到window,依此类推。

答案 1 :(得分:1)

您可以引用document.documentElement

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

您可以使用document.getElementByClassName("classname")之类的东西。

classname代表该标签的类

答案 4 :(得分:0)

您可以使用queryselector:

document.querySelector('HTML')