是否有“或”属性选择器,如输入[type = button | text]?

时间:2011-05-12 18:18:27

标签: jquery jquery-selectors

我正在尝试选择页面上的所有input元素,而不是imagebuttonsubmit类型的元素。我首先想到的是选择input类型的所有text元素,然后选择checkbox类型的所有元素。

但是,这不是很优雅。我想知道这里是否有更好的技术。有用的是像input[type=text|checkbox|radio|password|etc]这样的选择器,但这似乎不可用。

我知道我也可以选择所有input然后使用.filter()过滤它们,但是是否有更通用的选择器来选择具有属性列表之一的元素?

5 个答案:

答案 0 :(得分:48)

由于您希望包含之外的所有特定类型,请尝试以下方法:

$('input:not([type=image],[type=button],[type=submit])')

答案 1 :(得分:28)

$('input[type=text], input[type=checkbox], input[type=radio]').stuff();

或(取自评论)

$('input:not([type=image],[type=button],[type=submit]')

答案 2 :(得分:5)

在CSS中,您可以选择以下选项:

input[type=text],input[type=checkbox],input[type=radio],input[type=password]

也许这也适用于jQuery。

答案 3 :(得分:0)

我知道它的旧版本,但我觉得最好的解决办法就是给它们一个公共类,然后用它作为选择器?

答案 4 :(得分:0)

上述答案并非完全正确。

当依赖于id(#)时,这些方法似乎失败了。

根据我的经验,我们需要为每个or语句添加id。

像这样:

$('#id input[type=text], #id input[type=checkbox], ...