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

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 に答える