我有一个循环:
for (index = 0; index < total_groups; index += 1) {
groups[index].list_item = $(list_item_snippet);
// Closure to bind the index for event handling
(function (new_index) {
groups[index].list_item.find('.listing-group-title')
.html(groups[index].Group.Name)
.click(function(e){
fns.manageActiveGroup(new_index, groups);
return false;
});
})(index);
// Append to DOM
mkp.$group_listing.append(groups[index].list_item);
};
我宁愿不要append()
在每次循环触发时调用。
我知道我可以使用字符串并将标记与每个循环迭代连接起来,并将字符串附加到mkp.$group_listing
末尾,但是这会使对象变平并且绑定丢失(我不依赖于 ID)。
有没有一种方法可以将我的对象添加到一个数组中,并在底部一次性将它们全部附加到 HTML 中?
假设:
$(list_item_snippet)
包含一些定义列表项的 HTML(并包含一个带有 class 的元素.listing-group-title
)。groups
是在我的脚本中定义“组”的 JSON 块- 关闭工作完美
编辑:
发现我可以使用以下语法来追加多个元素:
mkp.$group_listing.append(groups[0].list_item, groups[1].list_item );
但我显然需要自动化它——它不是一个数组,它只是可选的附加函数参数,所以我不知道该怎么做。