我有大量内存中的 jquery 元素,我需要用 HTML 填充它们。为了清楚起见,这些元素不在 DOM 中,而是像这样存储的:
var els = [$('<div>'), $('<div>'), $('<div>')]; etc..etc...
当用户滚动时,这些元素会不断地添加和删除到 DOM 中(想想无限滚动);而且无论这些元素是否在 DOM 中,都需要对其进行操作。因此将它们存储在数组中的原因。
在加载时,我需要用 html 填充这些空的 jQuery 对象,并使事情变得更加棘手,每个片段都需要一个 Canvas 元素。通过废弃 jQuery 并使用原始 javascript 进行这些操作,我显着缩短了在大型数组上完成所需的时间。这是我目前的方法:
var canvas = document.createElement('canvas')
//draw stuff on in memory canvas here
var html = '<div>'
+'<div>'
+'<button>'
/*imagine more elements here*/
+'</button>'
+'</div>'
'</div>';
els[index][0].innerHTML = html;
els[index][0].firstChlid().firstChild().appendChild(canvas);
我想知道的是,这是否是将 HTML 推送到已经创建的空 jquery 对象数组中的最快方法。如果不是,你会建议什么?
提前致谢。