Не удается получить свойство css для «содержимого» в Safari 4 - PullRequest
0 голосов
/ 28 апреля 2009

Мне сложнее всего понять, почему 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? Я проверил с: после, и это также не удается, в то время как FF успешно возвращает данные.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2009

Safari поддерживает свойство содержимого только для псевдоэлементов: before и: after.

1 голос
/ 28 апреля 2009

Проверьте эту строку, это может решить все ваши проблемы:

<div id="#asd">

Разве это не должно быть:

<div id="asd">

Я предполагаю, что это была простая ошибка, но, чтобы уточнить, вам не нужно (не следует) включать # в имя идентификатора элемента.

Также я предполагаю, что Firefox игнорирует эту проблему и просто компенсирует ее, в то время как safari может быть более строгим в реализации кода, поэтому он не компенсирует.

...