我發現很多關於如何使用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