Как вы можете проверить, скрыт ли элемент ввода?
Как проверить, скрыт ли элемент ввода?
Ответ 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'