0

我有大量内存中的 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 对象数组中的最快方法。如果不是,你会建议什么?

提前致谢。

4

0 回答 0