如何仅通过合格元素进行迭代,而不是全部

时间:2012-04-11 08:51:54

标签: jquery

如果我的页面中的复选框具有如下所示的ID

a_chk1, a_chk2, a_chk3, b_chk1, b_chk2, b_chk3, c_chk1, c_chk2

如果我想检索ID以“a_”开头的复选框。以下代码完成了我的工作

$(':checkbox').filter(function(){return $(this).prop('id').indexOf("a_") > -1;})

但它遍历每个复选框并过滤所需的元素。但是is there any possibility of iterating through only qualified elements

4 个答案:

答案 0 :(得分:4)

您可以让jQuery在选择器中为您完成所有工作,如下所示:

$(':checkbox[id^="a_"]')

此处的演示演示:http://jsfiddle.net/jfriend00/5qENn/

答案 1 :(得分:1)

不,除非你给他们上课(例如class="a"到前三个等)。如果您这样做,那么您可以使用$(".a:checkbox")或类似的。

答案 2 :(得分:1)

是的,你可以这样做:

$(':checkbox[id^="a_"]').each(function() {

});

使用attribute starts with selector并使用.each()

进行迭代

答案 3 :(得分:1)

我想这会在引擎盖下进行迭代,但它更清晰。

$('input:checkbox[id^="a_"]')