Самый простой способ получить значение какого-либо стиля, это использовать аттрибут 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;
}
Добавить в закладки:

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