无法在Safari 4中获取“内容”的css属性

时间:2009-04-28 06:52:55

标签: css safari css-content

我正在努力弄清楚为什么Firefox3.1会在测试元素上返回'content'的值,而Safari 4则不会。

我的示例页面设置如下:

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

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

我的JS正在使用getComputedStyle。这适用于其他属性,如“background-color”,但不适用于“content”:

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

Safari是否对伪元素选择器有更多限制,:before和:after?我测试过:after,也失败了,而FF成功返回数据。

2 个答案:

答案 0 :(得分:2)

Safari仅支持:before和:after伪元素的内容属性。

答案 1 :(得分:1)

检查此行可能会解决您的所有问题:

<div id="#asd">

不应该是:

<div id="asd">

我猜这是一个简单的错误,但为了澄清,你不需要(不应该)在元素id的名称中包含#。

另外我猜测Firefox忽略了这个问题并且只是补偿它,而safari可能会更严格地执行代码,因此它不会补偿。