2009-04-28 20 views
0

Firefox3.1がテストエレメントで 'content'の値を返す理由を知りたいのですが、Safari 4ではできません。Safari 4で 'content'のcssプロパティを取得できません。

マイサンプルページは次のように設定され:

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

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

そして、私のJSはgetComputedStyleを使用しています。これは、「背景色」のような他の特性のためではなく、「コンテンツ」のために働く:beforeと::

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

は、擬似要素セレクタについてより制限サファリされた後?私は次のようにテストしました:afterとthatも失敗し、FFはデータを返すことに成功しました。

答えて

2

Safariは:beforeおよび:after擬似要素のcontentプロパティのみをサポートしています。

1

チェックこのラインそれはすべてあなたの問題を解決することがありアウト:

<div id="#asd"> 

は、それはすべきではありません:

<div id="asd"> 

私はそれが単純なミスだった推測しているが、明確にするために、あなたは要素idの名前に#を含める必要はありません。

また、Safariはコードの実装がより厳密になるため、Firefoxはこの問題を無視して補正していると考えています。

+0

申し訳ありませんが、それはちょうど私がここに投稿を記入していたようにタイプミスでした。 #は実際に私が取り組んでいるテストページにはありません。 – Geuis

+0

Lol ...そのクール、私はそれが何かのように思った。 –

関連する問題