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。所以没有自动关闭标签。