Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用HTML填充jQuery对象数组的最快方法是什么_Javascript_Jquery - Fatal编程技术网

Javascript 用HTML填充jQuery对象数组的最快方法是什么

Javascript 用HTML填充jQuery对象数组的最快方法是什么,javascript,jquery,Javascript,Jquery,我有一个很大的内存jquery元素数组,需要用HTML填充这些元素。需要澄清的是,这些元素不在DOM中,而是按如下方式存储: var els = [$('<div>'), $('<div>'), $('<div>')]; etc..etc... var els=[$(''),$(''),$('');等等……等等。。。 当用户滚动时(想想无限滚动),这些元素被不断地追加和删除到DOM中;而且无论这些元素是否在DOM中,都需要对它们进行操作。因此,需要将它们存

我有一个很大的内存jquery元素数组,需要用HTML填充这些元素。需要澄清的是,这些元素不在DOM中,而是按如下方式存储:

var els = [$('<div>'), $('<div>'), $('<div>')]; etc..etc...
var els=[$(''),$(''),$('');等等……等等。。。
当用户滚动时(想想无限滚动),这些元素被不断地追加和删除到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);
var canvas=document.createElement('canvas')
//在内存画布上画东西
var html=''
+''
+''
/*想象这里有更多的元素*/
+''
+''
'';
els[index][0].innerHTML=html;
els[index][0].firstChlid().firstChild().appendChild(画布);
我想知道的是,这是否是在已经创建的空jquery对象数组中推送HTML的最快方法。如果不是,你有什么建议


提前谢谢。

在你做任何事情之前,它必须立即全部加载吗?或者你可以懒洋洋地加载它吗?documentFragments和带有元素克隆的原生JS是最快的,而不是带有一堆jQuery对象的数组。很遗憾,是的。。。它需要从一开始就加载。它实际上比一个简单的无限卷轴要复杂得多,但为了这个问题的简单性,我就是这样描述它的。@adeneo我完全理解这一点。但这并不是让html快速进入DOM,而是填充jQuery对象。是的,使用片段和本机节点列表将比使用数组和jQuery对象快得多。