function getElementStyle(element, property) { if (typeof element!="object") element = document.getElementById(element); // внешние стили в Мазиле, Сафари и Опере if (document.defaultView &&document.defaultView.getComputedStyle) { if (property.match(/[A-Z]/)) property = property.replace(/([A-Z])/g, "-$1").toLowerCase(); return document.defaultView.getComputedStyle(element, "").getPropertyValue(property); } // внешние стили в IE if (element.currentStyle) { var i; while ((i=property.indexOf("-"))!=-1) property = property.substr(0, i) + property.substr(i+1,1).toUpperCase() + property.substr(i+2); return element.currentStyle[property]; } return ""; }Функция принимает два аргумента: id элемента (или сам элемент) и название свойства.
При попытке получить значение CSS свойства, возвращается пустая строка
5 комментариев
Когда столкнулся с этой проблемой, не понимал в чём дело. Вроде свойство задано, но при попытке получить, пустая строка.
Как выяснилось, объект style элемента содержит только значения, явно заданные в атрибуте style в тэге элемента.
Если Вы задаёте CSS свойства через тэг <STYLE></STYLE> или внешние листы стилей, то они не будут присутствовать в объекте style элемента.
Как узнать значение свойства элемента, если оно не задано явно в атрибуте style элемента?