如何通过jquery查找属于动态添加的类的所有元素?

时间:2014-11-24 11:43:28

标签: javascript jquery html

我动态地(通过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。我做错了什么?

1 个答案:

答案 0 :(得分:3)

您应该将var放在点击回调函数中:

$('#checkAll').click(function () {
    var bucketClasses = [$('.foo'), $('.bar')];
    // all other code as is
});