我发现很多关于如何使用JavaScript更改div的背景图片的信息,但我正在尝试使用JavaScript来确定显示哪个背景图片。设置图像的代码是这样的:如何通过JavaScript确定div的背景图片URL?
document.getElementById("widgetField").style.background="url(includes/images/datepicker_open.png)";
我想尽组合,我能想到的访问背景图像的URL,但至今没有骰子:
alert(document.getElementById("widgetField").style.backgroundImage.url); - returns Undefined
alert(document.getElementById("widgetField").style.backgroundImage); - empty response
alert(document.getElementById("widgetField").style.background);
alert(document.getElementById("widgetField").style.background.image);
alert(document.getElementById("widgetField").style.background.url);
alert(document.getElementById("widgetField").style.background.image.url);
alert(document.getElementById("widgetField").style.background.value);
alert(document.getElementById("widgetField").style.background.image.value);
alert(document.getElementById("widgetField").style.background.image.value);
alert(document.getElementById("widgetField").style.backgroundImage.value);
有谁知道去做这个?可能吗?
BTW,这里是图像在CSS被设置在一开始的方式:
#widgetField {
width: 290px;
height: 26px;
background: url(../images/datepicker_closed.png);
overflow: hidden;
position: relative;
}
UPDATE:
如果我运行下面的,它的工作原理:
document.getElementById("widgetField").style.background="url(includes/images/datepicker_open.png)";
alert(document.getElementById("widgetField").style.background);
但是,我似乎无法访问URL属性,直到它已被JavaScript设置,即使它已经在CSS文件中定义。有没有原因为什么原始CSS设置不可访问?
背景图像文件名称的数组,你试过'.style.background',而不是'切换到跟踪其中的图像是在DIV,通过 。 style.backgroundImage'? – kennytm 2010-01-20 19:13:24
是的,我试过style.background,style.background.image,style.background.url,style.background.image.url,style.background.value,style.background.image.value,style.backgroundImage.value以及。谢谢。 – user77413 2010-01-20 19:18:14
@openid_kenja:您需要获取元素的计算样式 - 请参阅我的更新答案。 – 2010-01-20 19:37:51