Znalazłem mnóstwo informacji o tym, jak zmienić obraz tła elementu div przy użyciu JavaScript, ale próbuję użyć JavaScript, aby określić, który obraz tła jest wyświetlany. Kod ustawić obraz idzie tak:Jak określić URL obrazu tła elementu div za pomocą JavaScript?
document.getElementById("widgetField").style.background="url(includes/images/datepicker_open.png)";
Próbowałem wszystkich kombinacji mogę myśleć, aby uzyskać dostęp do URL obrazu tła, ale jak dotąd nie ma kości:
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);
Czy ktoś wie jak to zrobić? Czy to możliwe?
BTW, oto sposób obraz jest ustawiony w CSS na początku:
#widgetField {
width: 290px;
height: 26px;
background: url(../images/datepicker_closed.png);
overflow: hidden;
position: relative;
}
UPDATE:
Jeżeli uruchomić następujące polecenie, to działa:
document.getElementById("widgetField").style.background="url(includes/images/datepicker_open.png)";
alert(document.getElementById("widgetField").style.background);
Jednak nie mogę uzyskać dostępu do właściwości URL, dopóki nie zostanie ona ustawiona przez JavaScript, mimo że jest już zdefiniowana w pliku CSS. Czy istnieje powód, dla którego surowe ustawienie CSS nie jest dostępne?
Możesz próbowano '.style.background' zamiast'. style.backgroundImage'? – kennytm
Tak, wypróbowałem style.background, style.background.image, style.background.url, style.background.image.url, style.background.value, style.background.image.value, style.backgroundImage.value także. Dzięki. – user77413
@openid_kenja: Musisz uzyskać obliczony styl elementu - zobacz moją zaktualizowaną odpowiedź. –