Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получение стиля элемента. (https://javascript.ru/forum/dom-window/9154-poluchenie-stilya-ehlementa.html)

BreatheInTheVoid 01.05.2010 16:06

Получение стиля элемента.
 
Помогите пожалуйста не могу получить стиль элемента. Должна быть конструкция вида:
var element = document.getElementById(id);
if(element.style.display == "none") {
    //Some action
}

Не работает. Начал проверять алертами, разные варианты, все время пусая строка. Хотя element.style.display = "block"; нормально меняет стиль, но прописывает его в тег к элементу, а мои стили прописаны в отдельно CSS файле. Не в этом ли дело?

exec 01.05.2010 16:11

function getStyle (id, stl) {
return document.getElementById(id).currentStyle[stl];
}

alert(getStyle('navbar_search', 'color'));

BreatheInTheVoid 01.05.2010 16:24

Спасибо, но это не работает в Firefox((

Octane 01.05.2010 16:28

exec,
это только для IE.

Кросс-браузерный вариант:
function getComputedCSSPropertyValue(element, CSSProperty) {
    return (typeof getComputedStyle == "undefined" ? element.currentStyle : getComputedStyle(element, null))[CSSProperty];
}
Имена CSS-свойст указывать в стиле lowerCamelCase. Значения составных свойств не везде будут возвращаться (background IE не скажет, а вот значение background-image вернет).

BreatheInTheVoid 01.05.2010 17:25

Спасибо. Собрал свою функцию. Работает везде))


Часовой пояс GMT +3, время: 00:37.