我想动态改变HTML标记在JavaScript中。动态改变HTML标记的风格在JavaScript
我一直在使用
document.getElementById("html").setAttribute("style", "background: #000000")
试过,但收到以下错误: 遗漏的类型错误:不能为空的读取属性“的setAttribute”
我怎么会去这样做呢?
CSS
html {
background: #FFFFFF;
}
我想动态改变HTML标记在JavaScript中。动态改变HTML标记的风格在JavaScript
我一直在使用
document.getElementById("html").setAttribute("style", "background: #000000")
试过,但收到以下错误: 遗漏的类型错误:不能为空的读取属性“的setAttribute”
我怎么会去这样做呢?
CSS
html {
background: #FFFFFF;
}
这样做:
document.getElementsByTagName("html")[0].style.backgroundColor = "#000000";`
虽然有可能用一个值与的setAttribute方法的元素添加样式属性,建议您使用属性样式对象,而不是为内嵌样式,因为这不会覆盖可以在style属性来指定其它CSS属性的
你可以做到这一点
document.getElementsByTagName("html")[0].style.background = "#000000";
你是指的HTML标记,而不是在HTML体元素, getElementByID需要一个字符串,它是一个元素ID。 例如
<p id="myID">text</p>
那么你cound做
document.getElementByID('myID').setAttribute('style', 'background: red');
可能首先把元素到一个变量,但我希望这有助于。
你可能会试图将样式元素html
;但我敢打赌,这不是标记像这样:
<html id="html">
...所以你的选择将无法正常工作。
你可能需要使用这个,而不是(从How do I change the background color with JavaScript?):
document.body.style.background = '#000000'
(注:目标body
元素。)
什么是错误你有? – brk
是你的元素“html”的id还是你想要访问html标签? – GraveyardQueen
@ user2181397未捕获TypeError:无法读取属性'setAttribute'null – janeeyrea