При попытке получить значение CSS свойства, возвращается пустая строка

Когда столкнулся с этой проблемой, не понимал в чём дело. Вроде свойство задано, но при попытке получить, пустая строка.Как выяснилось, объект style элемента содержит только значения, явно заданные в атрибуте style в тэге элемента.Если Вы задаёте CSS свойства через тэг <STYLE></STYLE> или внешние листы стилей, то они не будут присутствовать в объекте style элемента.Как узнать значение свойства элемента, если оно не задано явно в атрибуте style элемента?
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);}// внешние стили в IEif (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 комментариев

        1. Suvitruf Автор записи

          На момент, когда эта штука писалась, jquery вроде как и не было.
          Собственно, даже если и был, не люблю стороннее использовать, если можно стандартными средствами.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *