选择第一个输入,但不要选择type = hidden

时间:2012-03-14 09:36:10

标签: javascript jquery jquery-selectors hidden

我想要聚焦第一个不是type=hidden的输入元素。我已经做到这一点,但它仍然会尝试关注隐藏的元素。

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

2 个答案:

答案 0 :(得分:10)

使用:visible选择器:

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

:visible docs

  

描述:选择所有可见的元素。元素可以   被认为是隐藏的有几个原因:

     
      
  • 他们的CSS显示值为none。
  •   
  • 它们是type =“hidden”的表单元素。
  •   
  • 它们的宽度和高度明确设置为0.
  •   
  • 隐藏了一个祖先元素,因此页面上不会显示该元素。
  •   

如果对您来说太过分了,请使用Attribute Not Equal Selector

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

Attribute Not Equal Selector docs

  

描述:选择既没有指定属性,也没有指定属性但没有特定值的元素。

答案 1 :(得分:1)

您需要选择具有属性的元素过滤并首先显示。

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