javascript - 如何动态创建 TypeScript 表

标签 javascript typescript html-table

Typescript 似乎不接受创建 javascript 表的标准语法,那么合适的方法是什么?我无法在 TypeScript 中找到有关表的文档。

这是我期望的工作:

    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    cell1.innerHTML = "NEW CELL1";
    cell2.innerHTML = "NEW CELL2";

这是从 W3schools javascript 直接粘贴的,但是 visual studio 在 table.insertRow() 处报告错误;

“类型‘HTMLElement’上不存在属性‘insertRow’”

使用这段代码会出现同样的错误:

class ModuleTable {
  table: HTMLTableElement;
  private thead: HTMLElement;
  private tbody: HTMLElement;
  constructor() {
    this.table = document.createElement('table');
    this.thead = this.table.createTHead();
    this.tbody = this.table.createTBody();
    var row = this.thead.insertRow(0);
    var cell = row.insertCell(0);
    cell.innerHTML = "Module ID";
   }
}

我应该将 appendChildren 与新的 HTMLElement 一起使用,代表要添加到标题的行吗?

最佳答案

尝试:

var table: HTMLTableElement = <HTMLTableElement> document.getElementById("myTable");
var row = table.insertRow(0);

原因是 Typescript 不知道 document.getElementById() 的确切类型,只是它返回一个通用的 HTMLElement。你知道它是一张 table ,所以你可以转换它。

关于javascript - 如何动态创建 TypeScript 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32541765/

相关文章:

javascript - 表行不能作为 jquery 请求的同级行

html - 如何删除表格单元格中的空白空间?

javascript - 500 内部服务器错误 ajax/javascript

javascript - 在javascript中创建动态链接?

javascript - 将类放入单独的文件中时出现 Typescript 错误

允许其他属性的 TypeScript 接口(interface)

html - 图像被部分剪裁

javascript - JS DOM 对象和样式属性

javascript - 递归新 Promise : RangeError: Maximum call stack size exceeded

angular - 异步管道的混淆行为(Angular)