首页 > 解决方案 > 循环遍历表时,类型 HTMLElement 错误 TS2339 上不存在属性行

问题描述

问题

类型 HTMLElement 错误 TS2339 上不存在属性行

当在角度 7 上循环遍历表时

当循环到表 html 并编译时,我在 angular 7 上工作,我得到错误

src/app/Pages/part-compare/part-compare.component.ts(25,38) 中的错误:

错误 TS2339:“HTMLElement”类型上不存在属性“行”。

src/app/Pages/part-compare/part-compare.component.ts(27,26):错误 TS2339:

类型“HTMLElement”上不存在属性“行”。

请问如何解决这个错误?

我试过的:

var table = document.getElementById("CompareParts");
    for (var i = 1, row; row = table.rows[i]; i++) {
      for (var j = 0, col; col = row.cells[j]; j++) {
        var Cell = table.rows[i].cells
        this.ACells.push(Cell);
      }
    }
    this.length=this.ACells.length
    for (var x = 0; x < this.ACells.length; x++) {
      this.ARows.push(this.ACells[x]);

标签: javascripttypescriptangular7

解决方案


当你调用document.getElementByIdTypeScript 时不知道元素的具体类型是什么,所以函数返回泛型类型 HTMLElement。您应该将其转换为 HTMLTableElement。

尝试这样的事情:

var table = document.getElementById("CompareParts") as HTMLTableElement;

推荐阅读