我正在尝试选择页面上的所有input
元素,而不是image
,button
或submit
类型的元素。我首先想到的是选择input
类型的所有text
元素,然后选择checkbox
类型的所有元素。
但是,这不是很优雅。我想知道这里是否有更好的技术。有用的是像input[type=text|checkbox|radio|password|etc]
这样的选择器,但这似乎不可用。
我知道我也可以选择所有input
然后使用.filter()
过滤它们,但是是否有更通用的选择器来选择具有属性列表之一的元素?
答案 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], ...