Jquery 如何只遍历限定元素,而不是所有元素

Jquery 如何只遍历限定元素,而不是所有元素,jquery,Jquery,如果我在页面中有如下ID的复选框 a_chk1, a_chk2, a_chk3, b_chk1, b_chk2, b_chk3, c_chk1, c_chk2 如果我想检索ID以“a_3;”开头的复选框。下面的代码完成了我的工作 $(':checkbox').filter(function(){return $(this).prop('id').indexOf("a_") > -1;}) 但它会遍历每个复选框并过滤所需的元素。但是是否有可能只遍历限定的元素 不可以,除非你也给他们上课(

如果我在页面中有如下ID的复选框

a_chk1, a_chk2, a_chk3, b_chk1, b_chk2, b_chk3, c_chk1, c_chk2
如果我想检索ID以“a_3;”开头的复选框。下面的代码完成了我的工作

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

但它会遍历每个复选框并过滤所需的元素。但是
是否有可能只遍历限定的元素

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

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

$(':checkbox[id^="a_"]')
这里的工作演示:

是的,您可以这样做:

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

});

使用和迭代使用

我猜这在引擎盖下也会迭代,但它更干净

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