Самый простой способ получить значение какого-либо стиля, это использовать аттрибут style элементов. При этом мы получаем значение стиля с единицами измерения, т.е. для свойства height, представленного в приведенном ниже примере, мы можем получить значение в формате "100px":
var st = elem.style.height;
Однако таким образом можно получить только inline-правила (т.е. установелнные в тэге HTML при помощи аттрибута style), и следовательно полученное значение не всегда отражает реальное значение, которое может быть установлено в таблицах стилей. Чтобы получить реальное, текущее значение стиля можно использовать следующую функцию:
/**
* Получение вычисленного значения стиля
* elem - элемент, для которого необходимо получить значение
* name - имя запрашиваемого стиля
*/
function getStyle(elem, name) {
// Если необходимое свойство содержится в аттрибуте style[]
// тогда, оно является текущим
if (elem.style[name])
return elem.style[name];
// Вычисляем значение стиля используя метод IE
else if (elem.currentStyle)
return elem.currentStyle[name];
// или W3C метод, если таковой имеется
else if (document.defaultView && document.defaultView.getComputedStyle) {
name = name.replace(/([A-Z])/g,"-$1");
name = name.toLowerCase();
var s = document.defaultView.getComputedStyle(elem,"");
return s && s.getPropertyValue(name);
} else
return null;
}
