0

スニペットに続くcheを含むxhtmlページがあります

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

ページにDoctypeが正しく設定されている

<!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

ブラウザは、Doctype宣言ではなくContent-Typeを使用して、HTMLモードとXHTMLモードのどちらで動作するかを決定します。サーバーが言うtext/html場合、ブラウザはドキュメントをXMLとして扱いません。Doctypeは、Quirks/Standardsモードを切り替えるためにのみ使用されます。

HTMLモードでinnerHTMLは、DOMをXHTMLではなくHTMLにシリアル化します。

于 2013-03-27T13:01:50.637 に答える