javascript - 调用 document.createElement 时是否会调用 HTMLTableElement 的构造函数?
问题描述
出于好奇,我决定尝试扩展 HTMLTableElement 以创建自定义动态表,并想知道为什么我在调用 createElement 时没有调用构造函数中的控制台日志。
我错过了什么...
class sudokuTable extends HTMLTableElement {
constructor() {
// Always call super first in constructor
super();
// create the caption for the sudoku puzzle
console.log('this')
}
}
解决方案
您不能document.createElement('custom-element')
直接在自定义的内置元素上使用。
相反,您必须使用document.createElement('extended_element', { is: "custom-element" })
class sudokuTable extends HTMLTableElement {
constructor() {
// Always call super first in constructor
super();
// create the caption for the sudoku puzzle
console.log('this')
}
}
customElements.define('sudoku-table', sudokuTable, { extends: 'table' });
const your_elem = document.createElement("table", { is: "sudoku-table" });
推荐阅读
- powershell - 在 Powershell 中返回一个可选列表
- ruby-on-rails - Rails minitest 返回“NoMethodError: undefined method `make_response!'”
- java - Java Instant.parse on Date java 8
- javascript - 回显 UTC 时间
- c - C:使用浮点的while循环永远不会终止
- arrays - postgresql中的数组差异
- javascript - 使用附近的 0.05 自定义舍入数字
- python - Python:应用程序的百分比/对其用户分析的任何记录
- apache-spark - 无法启动 Spark-shell
- javascript - Uppercase and lowercase search