jQuery:不是和:第一次订购

时间:2010-07-12 18:12:54

标签: javascript jquery

我试图在未禁用或隐藏的表单中获取第一个输入字段。我需要能够排除单选按钮,选择和特定ID。

以下代码完美无缺,除非select在我想要的文本或密码字段之前:

$("form :input:visible:enabled:first:not('select')");

如果我排除:not('select'),则返回select作为第一个输入字段(正确如此,因为:input几乎返回所有表单元素)。但是,当我包含:not('select')时,没有任何东西被拾取。有什么想法吗?

这个问题的第二部分 - 我认为可以链接:不是所以我可以有类似的东西:

$("form :input:visible:enabled:first:not('select'):not(#specific_id):not(type[radio])");

3 个答案:

答案 0 :(得分:7)

如果您更换:not:first

,它会有效吗?
`$("form :input:visible:enabled:not('select'):first");`

你拥有它的方式,它选择第一个启用的标签,一组只有一个。如果那个是选择,你什么也得不到。使用此版本,它会获取不是选择的所有内容,然后将获取该集合的第一个元素。

答案 1 :(得分:2)

使用Tesserex的答案,你也可以加入几个不是。

$("form :input:visible:enabled:not('select, :radio, #id, .class'):first");

只需用逗号分隔,就像在任何其他jQuery标记中一样。

答案 2 :(得分:0)

最好在这种情况下使用'type=select''type=xxx'而不是':not'选择器。

或者,您可以使用.is()功能。