Javascript 未捕获类型错误:无法设置属性';背景图片';页面加载后调用未定义的althout js的

Javascript 未捕获类型错误:无法设置属性';背景图片';页面加载后调用未定义的althout js的,javascript,html,css,onload,Javascript,Html,Css,Onload,我认为在之前使用$(document).ready(function(){})页面将加载,但当我尝试通过javascript设置背景图像时,我得到: Uncaught TypeError: Cannot set property 'backgroundImage' of undefined. 代码是: <body> <div class="bottom_header"></div> <script> $(document).ready(fun

我认为在
之前使用
$(document).ready(function(){})
页面将加载,但当我尝试通过javascript设置背景图像时,我得到:

Uncaught TypeError: Cannot set property 'backgroundImage' of undefined.
代码是:

<body>
<div class="bottom_header"></div>
<script>
  $(document).ready(function(){
  doSlideshow();

  function doSlideshow()
  {
     var x = document.getElementsByClassName("bottom_header");
     x.style.backgroundImage = "url('s1.jpg')";
  }
})
</script>
</body>

document.getElementsByClassName
返回一个或多个元素,因此您需要获取第一个此类元素(或对其进行迭代)。

document.getElementsByClassName
返回一个或多个元素,因此您需要获取第一个此类元素(或对其进行迭代)。

事实上,尽管我肯定用id尝试过,现在我又试了一次,它成功了…愚蠢的错误,谢谢。但是为什么它不适用于document.getElementsByClassName,因为我只在特定的div上使用class=“bottom\u header”?它返回一个,这就是为什么即使它只是一个项,您仍然需要迭代/索引。实际上,尽管我确定我用id尝试过它,但现在我再次尝试,它工作了…愚蠢的错误,谢谢。但是为什么它不能与document.getElementsByClassName一起使用,因为我只在特定的div上使用class=“bottom\u header”?它返回一个,这就是为什么即使它只是一个项,您仍然需要迭代/索引。
<body>
<div class="bottom_header"></div>
<script>
window.onload = function() {
    alert("it's in");
    var x = document.getElementsByClassName("bottom_header");
    x.style.backgroundImage = "url('s1.jpg')";
}
</script>
</body>