Javascript 为什么可以使用新映像,而不能使用新Div或新Span?
在示例中,我看到了创建新HTML图像元素的Javascript 为什么可以使用新映像,而不能使用新Div或新Span?,javascript,html,w3c,Javascript,Html,W3c,在示例中,我看到了创建新HTML图像元素的new Image(),但是当我尝试new Div()时,没有支持。是否有理由这样做或将来有任何计划添加它 例如: var image = new Image(); var div = new Div(); // error 这是一个很好的问题,为什么会存在这种方法。HTML生活标准没有回答这个问题()。它只是声明,除了工厂方法之外,还提供了一个用于HTMLImageElements的构造函数 document.createElement('img')
new Image()
,但是当我尝试new Div()
时,没有支持。是否有理由这样做或将来有任何计划添加它
例如:
var image = new Image();
var div = new Div(); // error
这是一个很好的问题,为什么会存在这种方法。HTML生活标准没有回答这个问题()。它只是声明,除了工厂方法之外,还提供了一个用于HTMLImageElements的构造函数
document.createElement('img')
使用此函数,您可以创建所有DOM元素,例如。
document.createElement('div')
我不知道这些构造函数是否会为其他元素实现。Div类不存在。可以使用以下函数创建任何DOM元素:
document.createElement('div')
创建一个新的
实际上创建了一个和,相当于document.createElement('img')
出于历史原因,可以使用该语法创建图像。早在90年代,
图像
对象就已经是所有浏览器在发明当前HTML之前实现的第一个动态HTML功能之一(更不用说所有浏览器都以相同的方式实现了)。我的谷歌搜索得出结论,您使用的是Web Api
这也可能是由于建造商的存在:
这只是一个猜测。图像本身是完整的。没有所谓的
Suff
<代码>另一方面,它几乎总是其他东西的容器。@James a Mohler:为什么一个空元素有一个唯一的构造函数是有意义的,而一个非空元素有一个构造函数是没有意义的?5个答案,而你是唯一一个真正回答这个问题的。。。谢谢你。不管怎样,我想当Web API=p上发生奇怪的事情时,人们应该期待历史原因会露出他们丑陋的脑袋——如果你有一个外部来源支持你的说法也会很酷。@Paul Stenne:他们说“Stack Overflow以高质量的问答和专家的回答为荣……”至少,这些确实不时出现:)
var div = document.createElement('div');
var img = document.createElement('img');