0

我在获取 div 的背景 url 时遇到问题

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 没有问题,因为图像显示正确

4

2 回答 2

1

您无法从外部 CSS 获取样式信息,因为 JS 只查看 DOM。我不确定它是否可能,但是当您通过样式标签直接在元素上设置 CSS 信息时,您应该能够获取和修改 CSS 信息:

<div style="position:absolute; height:55px; width:85px; top:554px; left:197px;  background:url('images/1.jpg');"></div>
于 2010-01-28T11:50:37.067 回答
1

是的,这是可能的,但你总是需要这个元素:

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

这应该返回一个关联数组,其中包含给定元素的所有样式。

在许多情况下,有趣的是,无法像您尝试的那样直接从 JavaScript 访问 CSS 样式。

于 2010-01-28T11:58:25.453 回答