0

Firefox 3.1 がテスト要素で「コンテンツ」の値を返すのに、Safari 4 は返さない理由を理解するのに最も苦労しています。

私のサンプルページは次のように設定されています:

<style>
#asd{
content: 'test';
}
</style>

<div id="asd">
Bleh
</div>

私の JS は getComputedStyle を使用しています。これは、「背景色」などの他のプロパティでは機能しますが、「コンテンツ」では機能しません:

if( window.getComputedStyle ){
    var thestyle = window.getComputedStyle( document.getElementById('asd'), '');
    alert( thestyle.getPropertyValue('content') );
}

Safari は疑似要素セレクター、:before および :after についてより制限的ですか? 私は :after でテストしましたが、これも失敗しましたが、FF はデータを返すことに成功しました。

4

2 に答える 2

2

Safari は、:before および :after 疑似要素のコンテンツ プロパティのみをサポートします。

于 2009-04-28T07:50:12.113 に答える
1

この行を確認してください。すべての問題が解決する可能性があります。

<div id="#asd">

そうではありませんか:

<div id="asd">

これは単純な間違いだと思いますが、明確にするために、要素 ID の名前に # を含める必要はありません (含めるべきではありません)。

また、Firefox はこの問題を無視し、それを補償するだけであると推測していますが、Safari はコードの実装においてより厳密である可能性があるため、補償しません。

于 2009-04-28T06:56:08.717 に答える