首页 > 解决方案 > Typescript 3.5 循环 HTMLCollectionOf没完成

问题描述

这是我的功能:

let tableData: any = document.getElementById('serversTable');

let images: any = tableData.getElementsByTagName('img');
console.log(images.length); // displays 5 in console 

for(var i = 0; i < images.length; i++) {
   console.log(i);
   var os = images[i].alt;

   var sp1 = document.createElement("span");
   sp1.appendChild(document.createTextNode(os));
   images[i].parentNode.replaceChild(sp1, images[i]);
}

该行console.log(i);显示0123并且4不显示在控制台中,而images.length等于 5。

所以循环没有完成,我不知道为什么。

标签: typescriptloopshtmlcollection

解决方案


解决它 :

 let serverTableData: any = document.getElementById('serversTable');

 let images2: any = serverTableData.getElementsByTagName('img');
 let images: any = Array.from(images2);
 for(var i = 0; i < images.length; i++) {
   var os = images[i].alt;
   var sp1 = document.createElement("span");
   sp1.appendChild(document.createTextNode(os));
   images[i].parentNode.replaceChild(sp1, images[i]);
 }

推荐阅读