0

我有一个包含以下代码段的 xhtml 页面

<div id="content">
    <br/>
</div>

该页面已正确设置文档类型

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

问题是:当我使用 javascript 检索 div 元素的 innerHTML

document.getElementById("content").innerHTML

它返回“<br>”而不是预期的“<br/>”。对这种行为有什么解释吗?

jsFiddle

4

1 回答 1

1

浏览器使用 Content-Type 而不是 Doctype 声明来确定它们是否应该在 HTML 或 XHTML 模式下运行。如果服务器说,text/html那么浏览器将不会将文档视为 XML。Doctype 仅用于在 Quirks/Standards 模式之间切换。

在 HTML 模式下,innerHTML会给你一个将 DOM 序列化为 HTML,而不是 XHTML。

于 2013-03-27T13:01:50.637 回答