私は、firefoxがHTML文書のBODY要素の前にリストされているテキストノードと要素ノードをBODY要素の直接の子要素にする方法を確認しました。FF DOMはBODYタグの前にあってもノードをBODYの子として見なすことができますか?
私はxulrunner 2.0.1(Firefox 4.0)を使用していますが、私はInternet Explorerのテキストも動いていますが、要素は見ていません。
例HTML文書1(テキストノードとのタイトル要素は、本体内に移動):
"<html>abc<title>def</title>hij<body>inn<span>e</span>r</body>klm</html>"
クエリnsIDOMNSHTMLElement.innerHTML使用Body要素にここ
は、これを行うFFの例をいくつか示します。与えられます:
"abc<title>def</title>hijinn<span>e</span>rklm"
ボディの子要素を繰り返します。
Text : "abc"
Element : "def"
Text : "hijinn"
Element : "e"
Text : "rklm"
例HTML文献2(本体が、タイトル内に移動テキストノードではない):
"<html><title>def</title>hij<body>inn<span>e</span>r</body>klm</html>"
照会nsIDOMNSHTMLElement.innerHTML Body要素に使用し得る:
"hijinn<span>e</span>rklm"
Bodyの子要素を反復すると、次のようになります。
Text : "hijinn"
Elemnt : "e"
Text : "rklm"
私の質問は、なぜこれが起こっているのですか? innerHTMLでは、2つのbodyタグの間に何が表示されるのでしょうか?
正式なHTMLではないと私は推測しています。法的にテキストのノードは本文の内側にあるはずなので、Firefoxは壊れたマークアップを修正しようとします。 – Yuri