Javascript 如何关闭document.createElement创建的元素?

Javascript 如何关闭document.createElement创建的元素?,javascript,html,dom,Javascript,Html,Dom,如果我这样写: document.createElement("img") 生成的html是:,我可以在此元素上添加属性。但是,是否有一个参数或其他东西可以传递给createElement使其自动关闭?或者我可以调用dom函数来生成关闭标记吗?当dom处理标记时,标记是否自动关闭并不重要。如果在源代码中键入,然后查看innerHTML,您将看到 类似地,您不需要“生成”结束标记,因为它已经存在。浏览器已经将基于文本的HTML转换为节点树。使用DOM函数会影响树,获取innerHTML只会将其转

如果我这样写:

document.createElement("img")

生成的html是:
,我可以在此元素上添加属性。但是,是否有一个参数或其他东西可以传递给createElement使其自动关闭?或者我可以调用dom函数来生成关闭标记吗?

当dom处理标记时,标记是否自动关闭并不重要。如果在源代码中键入
,然后查看
innerHTML
,您将看到


类似地,您不需要“生成”结束标记,因为它已经存在。浏览器已经将基于文本的HTML转换为节点树。使用DOM函数会影响树,获取
innerHTML
只会将其转换为生成同一树的多种可能文本格式之一。

DOM结构没有将标记作为HTML标记的真正概念。所有这些数据都已反序列化并转换为结构。

当您将元素附加到某个位置时,它会自动发生

像这样:

 var newElem = document.createElement ("div");
 newElem.innerHTML = "sample text";
 newElem.style.color = "red";

 var container = document.getElementById ("container");
 container.appendChild (newElem);
 //the container contains a closing div tag

请参阅fiddle:

一旦将其附加到body(DOM)中,浏览器将自动关闭它

@Dave HTML5和旧版本的HTML一样,仍然没有自动关闭标签。对不起,我是说xhtml。它是否可以自动关闭以显示
而不是
我不知道,如果我诚实的话,但我会假设
innerHTML
返回HTML,而不是XHTML。所以没有自动关闭标签。