Определение свойств стиля в javascript, если в CSS он задан особым образом
Всем привет! У меня появилась небольшая проблеммка - мне из JavaScript необходимо определить свойство position. Поидее это делается такой строчкой:
if (elem.style.position=="absolute") ... Но в некоторых CSS - ках записано чтото вроде того: Код:
ol.results li i |
оно не определиться никак, так как elem.style - это инлайновый стиль. А сss стиль - это нексомпилированный стиль...
Сейчас найду реализацию и выложу... |
Ключевые слова getComputedStyle и currentStyle
|
function GetCssStyle(e){ if (e.currentStyle) return e.currentStyle; else if (window.getComputedStyle) return window.getComputedStyle(e,null) } if (GetCssStyle(elem).position=='absolute') ... |
спасибо =)
|
ZoNT:
Не работает =( Код:
function getCssStyle_ff(e) |
Упс, ступил..
|
Кстати, у меня есть похожий вопрос, задам его в этой теме.
Допустим у меня подключается определенный внешний CSS-файл. И мне нужно создать один элемент div, который будет иметь стиль такой же, как элемент по селектору: ".something #else div". Другими словами мне нужно каким-то образом "достать" стиль элемента ".something #else div", вместе с наследованными им, и установить их на мой элемент div. Выполнима ли такая задача? Или можно выкрутиться проще? Несколько вложенных дивов, как тут: <div class="something"> <div id="#else"> <div></div> </div> </div> Не подходят. |
функция приведена выше. Она возвращает стиль. Применяй-нехочу...
|
ZoNT,
Так она возвращает стиль элемента, а у меня нету элемента. Т.е. не создавая его не выйдет ничего? Кстати, стиль элементу назначается только когда он "добавлен" в модель? Т.е. после appendChild? Насколько эффективно будет искать нужный стиль в коллекции document.styleSheets[n].cssRule[m]? Для определённого стиля, например ".something #else div", там будут только его личные правила, или отнаследованные тоже? |
Цитата:
А если ты хочешь скомпилированный (это с наследованием), то надо иметь такой элемент на странице... |
ZoNT,
Хм. Вроде во всех реализациях (IE и W3C) у каждого cssRule есть свойство parentRule. Может идти "вниз" по родителям, накладывая друг на друга их стили? Тогда получится в итоге композиционный (скомпилированый) стиль. Только будет ли это хорошо в плане производительности... |
Это будет жесть!
|
А у меня проблема в том что мне нужен src, это вроде как не стиль, не знаю как его получить и как изменить
|
Часовой пояс GMT +3, время: 23:29. |