如何查找具有多个名称的高级元素

时间:2018-07-18 05:13:44

标签: javascript html css

我有一个正在编写的页面,但是我是Java语言的新手。由于页面中的错误,我必须将body,html元素的背景色设置为透明,以便在移动页面上获得所需的外观。我希望通过JavaScript实现这一点,以使原始编码尽可能少地改变CSS。在这里进行了一些研究之后:

How to get elements with multiple classes

这是我到目前为止所拥有的:

var x = document.querySelectorAll('body, html');
x.style.backgroundColor = "transparent";

不幸的是,这引发了未记录的异常/错误。我怀疑的原因是语法“ ('body, html')”在这种情况下不正确,因此为我提供了错误的元素或根本没有元素。我遇到的这个问题的真正问题是,我实际上不是在寻找类名或ID,而是在寻找body和HTML标签,它们是dom中的顶级顶层元素。

任何人可以提供的帮助对我都是巨大的帮助。

3 个答案:

答案 0 :(得分:2)

document.querySelectorAll将生成一个项目的NodeList,该列表是可迭代的(不完全是数组,而是类似的),因此您必须像这样遍历结果:

var x = document.querySelectorAll('body, html');
for (var i = 0; i < x.length; i++) {
	x[i].style.backgroundColor = "transparent";
}

答案 1 :(得分:0)

您也可以这样做:

branch_2

[].forEach.call(
    document.querySelectorAll('body, html'),
    (x) =>  x.style.backgroundColor = "transparent"
);

答案 2 :(得分:0)

您可以用两行代码分别进行操作。这是跨浏览器解决方案。

document.documentElement.style.backgroundColor = "transparent";
document.body.style.backgroundColor = "transparent";