Подтвердить что ты не робот

Как проверить, скрыт ли элемент ввода?

Как вы можете проверить, скрыт ли элемент ввода?

4b9b3361

Ответ 1

Скрыт как type="hidden"

$("#myInputElement").attr('type') == 'hidden'

Скрыт как display: none

$("#myInputElement").is(":hidden")

Ответ 2

nickf является правильным, но это будет иметь такой же эффект для ввода, который скрыт по стилю (style="display:none;"), или с помощью атрибута type (type="hidden").
Рассмотрим следующий html:

<input id="first" type="hidden" />
<input id="second" type="text" style="display:none;"/>

Оба этих входа имеют псевдокассету :hidden, но только один из них имеет тип hidden. Предполагая, что это то, что вы искали (поскольку входы - это единственные элементы, которые могут иметь скрытый тип, и вы хотите проверить, скрыт ли элемент ввода , а не только любой другой элемент), право Ответ на вопрос: проверить атрибут типа элемента:

document.getElementById('first').getAttribute('type') == 'hidden';// true
// although this input is also hidden, it wouldn't pass the check
document.getElementById('second').getAttribute('type') == 'hidden';// false

и, конечно, способ jquery:

$('#first').attr('type') == 'hidden';// true
$('#second').attr('type') == 'hidden';// false

Если вас интересовало только свойство прозрачности видимости, то псевдокурс jquery делает трюк:

$('#first').is(':hidden');
// or another way
$('#first:hidden').length != 0;

Ответ 3

Метод getAttribute() интерфейса Element возвращает значение указанного атрибута элемента. Если данный атрибут не существует, возвращаемое значение будет либо null, либо "" (пустая строка);

для скрытого элемента вы можете проверить атрибут type элемента.

$('#myElement').getAttribute('type')=='hidden'