动态更改javascript中html标记的样式

动态更改javascript中html标记的样式,javascript,html,css,Javascript,Html,Css,我想在JavaScript中动态更改html标记 我试过使用 document.getElementById("html").setAttribute("style", "background: #000000") 但收到以下错误: 未捕获的TypeError:无法读取null的属性“setAttribute” 我该怎么做呢 CSS html { background: #FFFFFF; } 这样做: document.getElementsByTagName("html")[0].s

我想在JavaScript中动态更改html标记

我试过使用

document.getElementById("html").setAttribute("style", "background: #000000")
但收到以下错误: 未捕获的TypeError:无法读取null的属性“setAttribute”

我该怎么做呢

CSS

html {
   background: #FFFFFF;
}
这样做:

document.getElementsByTagName("html")[0].style.backgroundColor = "#000000";`
尽管可以使用setAttribute方法将具有值的样式属性添加到元素中,但建议您使用样式对象的属性而不是内联样式,因为这不会覆盖样式属性中指定的其他CSS属性。您可以这样做

document.getElementsByTagName("html")[0].style.background = "#000000";

您已经使用document.getElementById查找Html标记

你必须使用

document.getElementsByTagName
按标记名查找元素的步骤

供参考:

您指的是html标记,而不是html正文中的元素, getElementByID需要一个作为元素id的字符串。 比如说

<p id="myID">text</p>

可能首先将元素放入变量中,但我希望这会有所帮助。

您可能正在尝试设置
html
元素的样式;但我敢打赌,它并没有这样标记:

…所以你的选择器不起作用

您可能需要改用此选项(从):

document.body.style.background='#000000'


(注意:以
主体
元素为目标。)

完全按照您的要求执行(根据您问题中的CSS):


出现了什么错误?是元素“html”的id还是您正在尝试访问html标记?@user2181397未捕获的TypeError:无法读取的属性“setAttribute”null@GraveyardQueen我正在尝试访问html标记,您需要在此处添加更多详细信息。如果您收到错误,请始终在问题中包含错误。如果您正在从DOM中选择某个元素,那么查看您正在选择的元素可能会很有用@这样做本可以避免墓地女王的问题。更好的问题帮助我们帮助您获得答案。他没有提到使用jQuery。我只是在这个过程中表达了jQuery的简单性。我编辑了它,因为它与问题无关。感谢您做出更改:)@jnara一定要更新他的答案并接受它。很高兴你弄明白了。
document.getElementByID('myID').setAttribute('style', 'background: red');
document.documentElement.style.setProperty("background","#000000");