Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 什么';在IE8+;中附加元素的最有效方法是什么;?_Javascript_Jquery_Html_Internet Explorer - Fatal编程技术网

Javascript 什么';在IE8+;中附加元素的最有效方法是什么;?

Javascript 什么';在IE8+;中附加元素的最有效方法是什么;?,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我有一个复杂的网页,其中有很多元素是严重操纵。 虽然这在Chrome/FF上运行得相当顺利,但IE(8+9)在这一页上似乎经常冻结 代码的一个特定部分在IE上运行的速度比在其他浏览器上运行的速度要慢得多,那就是我将新元素添加到页面中:具体地说,我将50个(嵌套)元素添加到documentFragment中,然后最终将documentFragment添加到实际文档中的某个元素中。最后一次追加发生在v。在Chrome/FF上速度很快,但在IE中可能需要几秒钟以上 我尝试使用html()/innerH

我有一个复杂的网页,其中有很多元素是严重操纵。 虽然这在Chrome/FF上运行得相当顺利,但IE(8+9)在这一页上似乎经常冻结

代码的一个特定部分在IE上运行的速度比在其他浏览器上运行的速度要慢得多,那就是我将新元素添加到页面中:具体地说,我将50个(嵌套)元素添加到documentFragment中,然后最终将documentFragment添加到实际文档中的某个元素中。最后一次追加发生在v。在Chrome/FF上速度很快,但在IE中可能需要几秒钟以上

我尝试使用html()/innerHTML,这似乎只会让事情变得更糟(它们可能比逐个追加()元素要好,但documentFragment似乎确实有帮助)。问题是,我能做些什么?有没有更有效的方法可以在IE中插入这些元素?我是否遗漏了可能导致插入速度如此缓慢的内容

谢谢


==编辑==

代码示例(不是1:1,但这是我通常所指的):

函数插入内容(elementsCollection)
{
var fragment=document.createDocumentFragment();
for(var i=0;i
我一直使用(并推荐)


我没有遇到你在IE/FF/Chrome/Safari中提到的问题。我单独准备新的文档片段,并一次性用新节点替换现有节点,而不是一次构建活动的DOM树节点。

如果您发布一些代码示例,那么尝试和了解发生了什么会容易得多。问题是插入还是重绘布局?如果将其插入到具有
display:none
的元素中,它是否仍然运行缓慢?我问这个问题的原因是因为我知道,在过去,至少IE在表等方面的深层嵌套级别渲染方面非常慢。所以我想知道这是否就是问题所在。。。
function insertContent(elementsCollection)
{
    var fragment = document.createDocumentFragment();

    for (var i=0; i < elementsCollection.length; i++)
    {
        fragment.appendChild($(collection[i])[0]);
    }

    $("#parentDiv").append(fragment);
}
rootNode.replaceChild(newElement, oldElement)