使用getElementById()和bgcolor属性

为什么这段代码不起作用?

<!DOCTYPE html>
<html>
    <head>
        <title> Home </title>
    </head>

    <body id = "b" bgcolor = "lightblue">

        <button onclick = "document.getElementById('b').bgcolor = 'lightgreen'"> Light Green </button>

    </body>
</html>

我试图改变body标签中的文本属性值,它的工作原理,但由于某种原因,它不适用于bgcolor,背景仍然有浅蓝色。


样式通过.style.backgroundColor设置(有关style对象的详细信息,请参阅MDN)。 bgcolor作为一个属性已经过时了十多年,反映的属性是bgColor (案例很重要)。

所以:

document.getElementById("b").style.backgroundColor = 'lightgreen';

但是,一般来说,将表示与标记混合并不理想。 相反,请考虑添加/删除您使用CSS设计的类,例如:

document.getElementById("b").classList.add('clicked');

...用

.clicked {
    background-color: lightgreen;
}

...在你的样式表中。

classList在现代浏览器中得到了很好的支持,而且对于过时的浏览器有一个polyfill;更多关于MDN。)

链接地址: http://www.djcxy.com/p/15371.html

上一篇: Using getElementById() with bgcolor attribute

下一篇: How to set Qtextedit background color?