循环遍历表时,HTMLElement 类型上不存在属性行错误 TS2339

abo*_*ham -1 javascript typescript angular7

问题

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

当在 Angular 7 上循环遍历表格时

我在 Angular 7 上工作,当循环到表 html 并编译时出现错误

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”上不存在属性“rows”。

请问这个错误如何解决?

我尝试过的:

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]);
Run Code Online (Sandbox Code Playgroud)

Sha*_*les 5

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

尝试这样的事情:

var table = document.getElementById("CompareParts") as HTMLTableElement;
Run Code Online (Sandbox Code Playgroud)