【发布时间】:2009-11-05 04:03:16
【问题描述】:
我在页面上有一个元素,使用 css 设置了背景图像:
// CSS snippet
.mystyle {
background-image: url(some_image.gif);
// and other styles like width, height, padding, text-align, etc.
}
// HTML snippet
<input type="button" name="mybutton" id="b1" class="mystyle" onclick="
some_function();" value="Apply">
在 Javascript 函数中,我正在尝试执行以下操作:
newImage = "url(new_image.gif)";
document.getElementById( "b1" ).style.backgroundImage = newImage;
这不起作用,旧的背景图像消失了。
此外,当我检查(使用警报)更改背景图像属性之前和之后设置的内容时:
newImage = "url(new_image.gif)";
alert( document.getElementById( "b1" ).style.backgroundImage );
document.getElementById( "b1" ).style.backgroundImage = newImage;
alert( document.getElementById( "b1" ).style.backgroundImage );
第一个警报显示空白(空字符串),第二个警报显示 newImage url。
所以这里肯定发生了一些奇怪的事情。我只是不确定是什么。有人可以帮忙吗?
编辑: 但是,如果我只更改 backgroundColor 属性并将 backgroundImage 设置为“none”,则更改似乎工作得很好(意思是 backgroundImage 像以前一样消失了,我可以看到新的 backgroundColor。
【问题讨论】:
-
您是否确保您尝试加载的图像存在于给定路径中?您的代码显示正确。
-
是的,我做到了。请参阅下面的答案。我必须确保它是完整路径(不是相对路径)。
标签: javascript css