document.getElementById.style.backgroundImage 不工作

新手上路,请多包涵

我想根据页面地址为 div 分配不同的背景图像,例如,如果我的 url 是 http://www.mywebsite.com/mysubdirectory/ 我使用以下代码:

 if(document.URL.indexOf("mysubdirectory") >= 0){
   document.getElementById("wrapper").style.backgroundImage = "url('bg-wrapper.jpg')";
}

但它不起作用。我什至添加了一个伪造的 document.write 命令,只是为了确保其余代码正常,并确保伪造的行出现在我的浏览器中。有什么我忽略的吗?

编辑:谢谢大家的回答——当我在我的代码中使用 body 而不是 getElementById(“wrapper”) 时,图像出现了,所以我怀疑这是一个与路径相关的问题。我确实向 body 标记添加了一个 onload 属性,但它仍然无法使用 getElementById。有任何想法吗?

原文由 Jane 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 776
1 个回答

您的

document.getElementById("wrapper").style.backgroundImage = "url('bg-wrapper.jpg')";

代码是正确的。

它在这个 jsfiddle 中工作正常:http: //jsfiddle.net/hUuN5/

你确定图像是正确的。请记住,文件的路径是相对于当前页面的位置的。不是 css 目录

原文由 Koen Peters 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题