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 свойства, возвращается пустая строка
Когда столкнулся с этой проблемой, не понимал в чём дело. Вроде свойство задано, но при попытке получить, пустая строка.
Как выяснилось, объект style элемента содержит только значения, явно заданные в атрибуте style в тэге элемента.
Если Вы задаёте CSS свойства через тэг <STYLE></STYLE> или внешние листы стилей, то они не будут присутствовать в объекте style элемента.
Как узнать значение свойства элемента, если оно не задано явно в атрибуте style элемента?
А зачем, если есть $(element).css(style)?
http://erstd.net/style_test.html например.
А без jquery оно работать будет? )
А зачем придумывать костыли?
На момент, когда эта штука писалась, jquery вроде как и не было.
Собственно, даже если и был, не люблю стороннее использовать, если можно стандартными средствами.
окей.