получение унаследованного свойства style.display - PullRequest
1 голос
/ 13 января 2012

Используя чистый JS, мне нужно определить свойство display элемента, унаследованного от более высокого уровня.

Элементы - это входные данные, вложенные в набор полей, родительский набор полей мог иметь свой набор свойств отображениянет, и если да, то мне нужно обнаружить это условие.

Я попытался получить свойство element.style.display, но, поскольку оно наследуется, это не дает мне то, что мне нужно ??Есть идеи ??

1 Ответ

0 голосов
/ 13 января 2012

По правилам CSS свойство display не наследуется (за исключением того, что оно может быть явно установлено в значение inherit).

Если элемент имеет display: none, то ни один из его потомков не отображается, каким бы ни было их значение display. Чтобы определить, находится ли элемент в такой ситуации, вам нужно пройти по дереву документа вверх и проверить вычисленные стили всех предков (и тогда возникает сложность, заключающаяся в том, что до IE 8 IE не поддерживает window.getComputedStyle).

Так что это выполнимо, но вы уверены, что нет более простого способа? Зачем вам нужно знать, находится ли поле внутри элемента, который не отображается (вероятно, из-за ваших настроек)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...