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