最近做项目,发现当ajax返回的HTML语句过多时,赋值给div的innerHTML就会很慢。甚至让人无法接受!这种问题出现在IE6和IE7上。在IE8和FF中没有发现慢的问题。如果用document.write输出返回的HTML在任何版本的IE中都是很快的被打印到屏幕上。那么只能说明是innerHTML赋值这个环节出现了问题。那么应该如何解决呢?谢谢,盼复

解决方案 »

  1.   

    那就全用document.write来完成啦!为什么一定要用innerHTML呢?
    再不然用CREATEELEMENT(‘元素'),动态加载,全部加到documentFragElement,再统一加到父元素上!
      

  2.   


    CREATEELEMENT(‘元素'),动态加载,全部加到documentFragElement,再统一加到父元素上!
      

  3.   


    $("#id").html()="";
     //或者
    $("#id").html("test");
      

  4.   

    我用循环生成一个,用document.write输出也慢啊,并且我的是IE8的
      

  5.   

    不慢呀。用jquery的html还行吧。
      

  6.   

    $.get('htef',function(data){
        $("#id").html(data);
    })
      

  7.   

    我主要是通过jquery的ajax异步请求后台文件。后台文件获取数据并拼凑HTML然后返回前台。前台接收到返回的HTML后。赋值到DIV的innerHTML上。我试过了无论是
    $("#a").html(data)还是$("a")[0].innerHTML速度都很慢。但IE8下没事。动态createElement的方法。估计我这里还是不能用。毕竟是后台已经拼凑好HTML了(table)还有其他解决办法吗?
      

  8.   


    数据量大的话,document.wirte的效率最高
    其次$(ele).html()(innerHTML)会高于createElement、appendChild的效率