четверг, 11 ноября 2010 г.

Получение стилей хтмл елемента by javascript

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

document.getElementById("myid").style.paddingLeft = "10px";

Чтобы получить стиль элемета, который сформированный css-таблицами, пользуеся

window.getComputedStyles(document.getElementById("myid"), "если надо - псевдокласс css (:hover, :linked)")

Эта функция возвращает CSSStyleDeclaration, это антипод elemet].style, тоесть мы можем получать, но не изменять:

 
alert(window.getComputedStyles(element, null).paddingLeft);

Так мы будем получать стили, которые актуальны на данный момент для обьекта(после всех применений css-таблиц, изменений стилей скриптами, инлайновых стилей).
Если нужно получить стили, которые сформировали css-таблицы после загрузки страницы, нужно использовать:


alert(document.gefaultView.getComputedStyles(document.getElementById("myid"),null).paddingLeft);

Для IE:
alert(document.getElementById("myid").currentStyle.marginLeft);

Но вот дефолтовых стелей в ие не получить, предыдущая функция работает только с поточными стилями.

И кросбраузерная строка:

var computedStyle = element.currentStyle || window.getComputedStyle(element, null);

Комментариев нет:

Отправить комментарий