IE 10中的Javascript很慢

Fer*_*ans 2 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!");
    }
Run Code Online (Sandbox Code Playgroud)

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

mpl*_*jan 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!");
}
Run Code Online (Sandbox Code Playgroud)

或者查看createDocumentFragment和appendChild