我想在JavaScript中动态更改html标记。
我尝试过使用
document.getElementById("html").setAttribute("style", "background: #000000")
但收到以下错误: 未捕获的TypeError:无法读取null
的属性'setAttribute'我该怎么做?
CSS
html {
background: #FFFFFF;
}
答案 0 :(得分:1)
这样做:
document.getElementsByTagName("html")[0].style.backgroundColor = "#000000";`
尽管可以使用setAttribute方法将带有值的style属性添加到元素,但建议您使用Style对象的属性代替内联样式,因为这不会覆盖可能指定的其他CSS属性在样式属性
中答案 1 :(得分:1)
你可以这样做
uniq
答案 2 :(得分:0)
答案 3 :(得分:0)
你指的是html标签,而不是html主体中的一个元素, getElementByID需要一个元素id的字符串。 例如
<p id="myID">text</p>
然后你要做
document.getElementByID('myID').setAttribute('style', 'background: red');
可能首先将元素放入变量中,但我希望这会有所帮助。
答案 4 :(得分:0)
您可能尝试设置html
元素的样式;但我愿意打赌它的不标记如下:
<html id="html">
...所以你的选择器不会工作。
您可能需要使用此功能(来自How do I change the background color with JavaScript?):
document.body.style.background = '#000000'
(注意:定位body
元素。)
答案 5 :(得分:0)
完全按照您的要求(根据问题中的CSS)进行操作:
document.documentElement.style.setProperty("background","#000000");