jQuery选择器,用于在其name属性中包含某些文本的复选框

Ret*_*der 3 jquery

我正在尝试在jQuery中找到一个选择器,它选择所有的复选框输入,并且它们的名称包含一个特定的单词,如"top"或"Top".b/c有问题,选择其他复选框.

是否可以使用以下内容:

$("input[name*='top'] type:checkbox").each etc?

Top 1<input type="checkbox" name="Top1" /><br />
Top 2<input type="checkbox" name="Top2" /><br />
Top 3<input type="checkbox" name="Top3" /><br />
Top 4<input type="checkbox" name="Top4" /><br />

Bottom 1<input type="checkbox" name="Bottom1" /><br />
Bottom 2<input type="checkbox" name="Bottom1" /><br />
Bottom 3<input type="checkbox" name="Bottom1" /><br />
Bottom 4<input type="checkbox" name="Bottom1" /><br />
Run Code Online (Sandbox Code Playgroud)

我只想选中其名称中包含"top"字样的复选框.

Mar*_*k K 9

你很亲密......

$("input[type='checkbox'][name^='Top']").each()
Run Code Online (Sandbox Code Playgroud)

jsFiddle演示

  • @MarkK只是另一个注释,对于不区分大小写,你可以使用[`.filter()`](http://api.jquery.com/filter/) (3认同)

und*_*ned 5

你可以使用start with选择器:

$("input[name^='Top']")
Run Code Online (Sandbox Code Playgroud)

要么:

$("input[name^='Top']:checkbox")
Run Code Online (Sandbox Code Playgroud)


Chr*_*son 5

我相信你可以组合:checkbox选择器和属性包含选择器:

$("input:checkbox[name*='top']").each(); 
Run Code Online (Sandbox Code Playgroud)

不确定它是否需要不区分大小写,在这种情况下,您可以查看此SO问题.

更新:

正如bažmegakapa在他的评论中指出的那样,:checkbox选择器根据文档被弃用.因此,最好使用:

$("input[type=checkbox][name*='top']").each();
Run Code Online (Sandbox Code Playgroud)

  • 从手册:`裸$(':复选框')相当于$('*:复选框'),所以应该使用$('input:checkbox')代替. (2认同)