Просмотр полной версии : Определить, задано ли свойство в CSS
gmihalkov
17.04.2013, 23:23
Требуется определить, ЗАДАНО ЛИ свойство где-нибудь в CSS.
Встроенные функции .getComputedStyle и .currentStyle возвращают значение даже если CSS свойство для элемента не прописано (значение по умолчанию для браузера). Нужна функция вида
function cssExists(element, styleName) { [code] }, которая возвращала бы true или false в том случае, если где-то в стилях указанное свойство прописано.
skrudjmakdak
18.04.2013, 09:01
console.log(object.style.color);
вот если стиль в классе прописан, то копаться надо.. имхо вернет не то что надо (не помню)..
danik.js
18.04.2013, 10:09
Проходим по всем стилям документа, проверяем каждый селектор через element.matchesSelector(selector) (с браузерными префиксами и костылем для старых браузеров). Подругому наверное никак.
danik.js, и так тоже может не сработать - если css-ка, например, с другого домена грузится.=)
Вариант - сравнить getComputedStyle чистого элемента из ифрейма и текущего. Но если в css указано точно такое-же значение как и дефалтное - не прокатит.(Честно говоря не догадываюсь зачем оно вообще надо)
danik.js
18.04.2013, 17:11
Но если в css указано точно такое-же значение как и дефалтное - не прокатит.(Честно говоря не догадываюсь зачем оно вообще надо)
Да да. Склонировать документ во фрейм, но без стилей. И сравнивать. Хотя при клонировании может что-то полететь...
Да да. Склонировать документ во фрейм, но без стилей. И сравнивать. Хотя при клонировании может что-то полететь...
Зачем весь документ, просто элемент. На вскидку вроде никакие дефалтные стили не зависят от вложенности.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot