我必须迭代一系列复选框,询问是否已选中该复选框,但无法获得结果。这是我的代码
var checkboxes = $(".checked");
for (var i = 0; i < checkboxes.length; i++) {
var check = checkboxes[i];
if(check.prop('checked')){
console.log("Checkbox number: " + i + " is checked");
}
}
最佳答案
通过在循环中执行checkboxes[i]
,它返回DOM元素而不是jQuery元素。
您可以用checkboxes[i]
包裹$()
,使DOM元素成为jQuery元素:
var checkboxes = $(".checked");
for (var i = 0; i < checkboxes.length; i++) {
var check = $(checkboxes[i]);
if(check.is(':checked')){
console.log("Checkbox number: " + i + " is checked");
}
}
我也将
.prop('checked')
更改为.is(':checked')
。这取决于您使用的prop
哪个版本的jQuery可以使用(> 1.6)。检出this question。