document.createElement()以不同的方式创建元素?

时间:2017-01-06 09:20:15

标签: javascript angularjs canvas

当我创建像div这样的元素时,它也会创建封闭标记。但是当我创建像canvas这样的元素时,只会创建一个开始标记但不会创建封闭标记。为什么呢?

document.createElement('div');

这个创建<div></div>

document.createElement('canvas');

创建<canvas>,如果我将子项附加到其中,则会创建<canvas>childTag</canvas>。有什么特别的原因吗?哪些元素表现得像这样?什么元素的行为如上divcanvas的结束标记是否可选?

1 个答案:

答案 0 :(得分:3)

这仅适用于您的开发工具“标记实时视图”。结束标记在那里,must就在那里。

Chrome可能会这样做,因为它不会呈现任何内容(而<canvas>可能会有一些隐藏内容)。

您可以通过调用所创建元素的outerHTML属性来检查:

console.log(document.createElement('canvas').outerHTML);