【发布时间】:2021-08-21 01:16:53
【问题描述】:
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 一起使用,表示要添加到标题的行?
【问题讨论】:
-
看起来 TypeScript 没有 HTMLTableBodyElement。这个对吗?即 tbody: HTMLElement 的这种转换会将诸如“行”之类的属性标记为不存在。
标签: javascript typescript html-table