2009-04-28 4 views
0

У меня самое сложное время выяснить, почему Firefox3.1 возвращает значение «content» на тестовом элементе, в то время как Safari 4 не будет.Невозможно получить свойство css 'content' в 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 более ограничительный о псевдо-элементов селекторов: до и: после того, как? Я тестировал с: after, и это также терпит неудачу, в то время как FF успешно возвращает данные.

ответ

2

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

1

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

<div id="#asd"> 

Это не должно быть:

<div id="asd"> 

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

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

+0

Извините, это была только опечатка, поскольку я заполнял сообщение здесь. # На самом деле не на тестовой странице, над которой я работаю. – Geuis

+0

Lol ... его круто, я подумал, что что-то в этом роде. –

 Смежные вопросы

  • Нет связанных вопросов^_^