Выберите первый вход, но не выбирайте type = hidden - PullRequest
1 голос
/ 14 марта 2012

Я хочу сфокусировать первый элемент ввода, который не является type=hidden.У меня так далеко, но он все еще будет пытаться сфокусировать скрытые элементы.

$('#content input:first').focus();

Ответы [ 3 ]

10 голосов
/ 14 марта 2012

Используйте селектор :visible:

$('#content input:visible:first').focus();

:visible документы :

Описание: Выбирает все видимые элементы. Элементы могут быть считается скрытым по нескольким причинам:

  • У них есть CSS-значение отображения none.
  • Это элементы формы с type = "hidden".
  • Их ширина и высота явно установлены на 0.
  • Элемент-предок скрыт, поэтому элемент не отображается на странице.

Если это слишком много для вас, используйте Attribute Not Equal Selector:

$('#content input[type!="hidden"]:first').focus();

Attribute Not Equal Selector документы :

Описание: Выберите элементы, которые либо не имеют указанного атрибута, либо имеют указанный атрибут, но не имеют определенного значения.

2 голосов
/ 14 марта 2012
$('#content input:first').not(":hidden").focus();
1 голос
/ 14 марта 2012

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

$("#content input[type!='hidden']:first").focus();
...