我動態地(由jquery)製作HTML元素,其類別爲.foo
和.bar
,其所有元素均爲inputs
類型checkboxes
。我有一個按鈕checkAll
,它檢查所有框,並將其id
s推入一個名爲selectedBuckets
的數組中。此按鈕不是動態製作的。它看起來是這樣的:如何通過jquery查找屬於動態添加的類的所有元素?
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
。我究竟做錯了什麼?
也發表您的HTML請:) – Refilon 2014-11-24 11:45:02
請認準'live'和'on'的jQuery api.these方法,幫助處理元件,它是動態創建 – 2014-11-24 11:45:08
移動'var bucketClasses = [$('。foo'),$('。bar')];'內部的點擊處理程序,以便它獲取_currently_擁有這些類的元素。雖然代碼似乎比它需要更復雜。 prop('checked',true).map(function(){return this.id;})。get()。get() );' – nnnnnn 2014-11-24 11:49:03