IE 10中的Javascript很慢

时间:2013-03-11 13:16:15

标签: javascript internet-explorer internet-explorer-10

我有问题。当我触发此代码时:

    function addItem(){
        var select = document.getElementById("2");
        select.options.length = 0;;
        alert("Please wait...");
        for (var i = 0; i < array.length; i++) {
            select.options[select.options.length] = new Option(array[i]);
        }
        alert("Images loaded!");
    }

在Internet Explorer 10中(在Windows 8上),响应速度非常慢。阵列中平均有35000个项目,但Chrome和Firefox没有这个问题......我能做些什么来让IE更顺畅?因为这是一个常见的浏览器...

1 个答案:

答案 0 :(得分:6)

除了愚蠢的物品数量外,请试试这个

请注意,IE不允许我们更改select的innerHTML,所以我更改了select必须存在的容器的innerHTML才能使用

function addItem(){
  var select = document.getElementById("2"); // Why a numeric ID?
  var parent = select.parentNode;
  parent.innerHTML="Please wait";
  var html='<select id="2" multiple="multiple">';
  for (var i=0,n=array.length, i<n; i++) {
    html += '<option value="'+array[i]+'">'+array[i]+'</option>';
  }
  html += '</select>'
  parent.innerHTML=html;
  alert("Images loaded!");
}

或者查看createDocumentFragment和appendChild