2010-01-28 3 views
0

У меня есть проблема для извлечения фона URL из DIVфон проблема изображения с Javascript

HTML:

<div id='test'></div> 

CSS:

#test { position:absolute; height:55px; width:85px; top:554px; left:197px; background:url('images/1.jpg'); } 

, когда я пытаюсь получить фон URL изображения, используя ниже, отображается пустое.

alert(document.getElementById("test").style.backgroundImage); 

но интересно это работает для следующих

document.getElementById("test").style.backgroundImage="url('images/1.jpg')"; 
alert(document.getElementById("test").style.backgroundImage); 

Примечание: Нет проблем с URL, потому что изображение отображается правильно

ответ

1

вы не можете получить информацию о стиле из внешнего CSS, так как JS только смотрит в DOM. Я не уверен, если его возможно, но вы должны быть в состоянии получить и изменить информацию о CSS, когда вы установите его непосредственно на элементе с помощью тега стиля:

<div style="position:absolute; height:55px; width:85px; top:554px; left:197px; background:url('images/1.jpg');"></div> 
1

Да, это возможно, но вам нужно элемент всегда:

function getStyles (element) { 
    element = document.getElementById(element); 
    if (element.currentStyle) { 
     return element.currentStyle; 
    } else if (window.getComputedStyle) { 
     return document.defaultView.getComputedStyle(element, null); 
    } 
} 

Это должно возвращать ассоциативный массив со всеми стилями данного элемента.

Во многих случаях, как ни странно, невозможно получить доступ к стилю CSS непосредственно из JavaScript, как вы пытались это сделать.

Смежные вопросы