2010-08-26 2 views
3

Есть ли способ выбрать все правила CSS элемента с JavaScript? Я не ищу конкретного решения, пока все CSS-правила данного элемента будут прочитаны.Получить все стили CSS элемента с JavaScript

Итак, у меня есть следующий HTML

<div class='styledDiv' style='height:100px;width:100px;'></div> 

, а затем в отдельном CSS файле:

.styledDiv 
{ 
    background-color: #ccc; 
    border: solid 5px blue; 
} 

Я хотел бы конечный результат, чтобы включить все встроенные и отдельные правила файла CSS. Неважно, в каком формате конечный результат, будь то строка или массив, что угодно.

Позвольте мне также упомянуть, я просмотрел код, который читает CSS-правила из отдельного файла CSS. Я думаю, что может быть лучшее решение. Кроме того, FireFox и Chrome позволяют прокручивать свойство .style так же, как и цикл через массив. Тем не менее, FF выплескивает - * tl-исходные правила для правой и левой границы/поля/заполнения и не отображает фактические значения CSS. Решение с использованием jQuery также отлично.

ответ

3

Для FireFox, вы можете использовать это: https://developer.mozilla.org/en/DOM:window.getComputedStyle

Для IE, вы можете использовать это: http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx

Помните! Ты шагаешь по темным водам здесь.

Эти результаты возвращают интерпретацию CSS браузером. Например, при получении цветов IE вернет HEX цветовые коды, а Firefox возвращает код rbg. И для размеров шрифтов IE вернет фактический унаследованный размер шрифта, в то время как Firefox вернет pt.

+0

Спасибо. Работает ли .getComputedStyle() во всех других браузерах, а не только с FF? Вне мира IE? – Dimskiy

+0

Да, см .: http://www.quirksmode.org/dom/w3c_css.html Надеюсь, это поможет. – Gary

+0

Итак, у меня не было возможности углубиться в это, но я думаю, что этот ответ указывает на правильный путь. По крайней мере на данный момент. Благодаря! – Dimskiy

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