我有一大堆内存中的jquery元素,我需要用HTML填充它们。要清楚这些元素不在DOM中,而是像这样存储:
var els = [$('<div>'), $('<div>'), $('<div>')]; etc..etc...
当用户滚动(想想无限滚动)时,这些元素会不断地附加到DOM并移到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);
我想知道的是,这是否是在已创建的空jquery对象数组中推送HTML的最快方法。如果不是你会建议什么?
提前致谢。