这个简单的选择器在我的表单中找到第一个空文本输入字段,但跳过密码类型输入:
$('input:text[value=""]:first').focus();
上面的陈述中是否有一个简洁的说法:text或:password?
答案 0 :(得分:9)
$('input:text[value=""]').add('input:password[value=""]').first().focus();
我认为没有更好的方法。这是我在考虑 @Hari Das 答案之前的想法,这个答案有问题,但却为我提供了另类解决方案:
$('input:text[value=""],input:password[value=""]').first().focus()
选择一个更易读的。
答案 1 :(得分:4)
这里有一个小的自定义表达式:
$.expr[':'].is = function(a,b,c){
return $(a).is(c[3])
}
允许您在选择器中使用is
。你可以通过它实现你想要的目标:
$('input[value=""]:is([type=text],[type=password]):first')
<强> Fiddle 强>
答案 2 :(得分:1)
通过使用逗号,您可以插入多个选择器。它就像一个OR运算符。
$('input:text[value=""]:first,input:password[value=""]:first')
答案 3 :(得分:1)
The visible is there to skip any hidden fields, such as select2 autogenerated inputs.
$('input:text[value=""]:visible:first',input:password[value=""]:first)