无法设置未定义的CSS DOM的属性

时间:2017-05-06 01:15:47

标签: javascript css dom

我的JS:document.getElementsByClassName('main').style.backgroundColor = '#101521';

我的HTML:

<html class= 'main'>
  <head>
    <meta charset="UTF-8">
    <title>Widg-It</title>
  </head>
  <body>
    <span id="close">X</span>
  </body>
</html>

我试图使用CSS DOM

使我的网页背景颜色为“#101521”

我运行代码并得到错误:“无法设置未定义的'backgroundColor'属性”

我不知道这意味着什么,以及如何让它发挥作用。

1 个答案:

答案 0 :(得分:2)

document.getElementsByClassName('main')返回一个列表。您希望列表中的第一个在索引0中,因此需要通过使用[0]来指定,这是列表[1]中的第一个元素是第二个等

document.getElementsByClassName('main')[0].style.backgroundColor = '#101521';

也因为可能只有一个html标签或主要版本。我建议使用getElementsByTagName()getElementById()

<强>的getElementsByTagName()

<强> HTML: <html> ... </html>

JS document.getElementsByTagName('html')[0].style.backgroundColor = '#101521';

<强>的getElementById()

<强> HTML: <html id="main"> ... </html>

JS document.getElementdById('main').style.backgroundColor = '#101521';

取决于你想要的方式。所有3种方法都可以正常工作。希望这会有所帮助。