Firefox3.6あたりで取得したinnerHTMLにxmlnsが付いてきた

サンプル

タイトルの通りです.Firefox3.6あたりで実行すると現象を確認できると思います.3.6あたりという曖昧な表現なのはそんな正確に調査してないからです.X-(

あるインライン要素の中に,テキストを伴うブロック要素をinnerHTMLで突っ込むと,テキスト部分が自動でxmlnsつきのインライン要素でラップされるみたい.

どうやらappendChildなら発生しないようなので,innerHTMLに値をセットしたときに処理が入ってるんでしょうかね.

今回確認した出力結果

それぞれ,インライン要素に対してブロック要素をinnerHTMLで足した場合と,appendChildで足した場合です.

<!-- テスト1の結果 -->
インライン1号 innnerHTMLで足す<div><a xmlns="http://www.w3.org/1999/xhtml">の中にブロック要素を入れてみる</a></div>

<!-- テスト2の結果 -->
インライン2号 appendChildで足す<div>appendChildしてみる</div>

インライン要素といってもspan要素はセーフで,a要素とかstrong要素とかem要素は一通り再現したのでよく分からない感じ...ひとまず備忘録ということで.