在示例中,我看到new Image()
创建了一个新的HTML图片元素,但是当我尝试new Div()
时,没有支持。这个或任何计划是否有理由将其添加?
示例:
var image = new Image();
var div = new Div(); // error
答案 0 :(得分:10)
Div
课程不存在。可以使用函数Document.createElement()
:
var div = document.createElement('div');
var img = document.createElement('img');
document.createElement('div')
创建一个新的HTMLDivElement
。
new Image()
实际上创建了HTMLImageElement
,相当于document.createElement('img')
。
出于历史原因,可以使用new Image()
语法创建图像。早在90年代,Image
对象就是当前DOM发明之前所有浏览器实现的第一个动态HTML功能之一(更不用说所有浏览器以相同的方式实现)。 / p>
答案 1 :(得分:2)
这个方法存在的原因是一个很好的问题。 HTML Living Standard没有回答这个问题(https://html.spec.whatwg.org/multipage/embedded-content.html#dom-image)。它只是声明除了工厂方法之外还提供了HTMLImageElements的构造函数
document.createElement('img')
使用此功能,您可以创建所有DOM元素,例如
document.createElement('div')
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
是否将为其他我不知道的元素实现这些构造函数。