我动态地(通过jquery)创建了具有类.foo
和.bar
的HTML元素,其所有元素都是inputs
类型checkboxes
。我有一个按钮checkAll
,它会检查所有框并将其id
推送到名为selectedBuckets
的数组中。此按钮不是动态制作的。它看起来像这样:
var bucketClasses = [$('.foo'), $('.bar')];
$('#checkAll').click(function () {
var isAdd = true;
var selectedBuckets = [];
bucketClasses.forEach(function (bucketClass) {
bucketClass.each(function () {
this.checked = isAdd;
if (isAdd)
selectedBuckets.push(this.id);
})
});
});
问题是该函数无法找到具有类.foo
(或.bar
的HTML元素)。通过设置断点,我看到bucketClass
是一个空数组,理想情况下它应该是所有checkboxes
的数组,其类为.foo
。我做错了什么?
答案 0 :(得分:3)
您应该将var放在点击回调函数中:
$('#checkAll').click(function () {
var bucketClasses = [$('.foo'), $('.bar')];
// all other code as is
});