これらは実際には要素ではなく、本来あるべきテキスト ノードです。HTML 要素にはテキスト ノードが含まれます。
<p>text</p>
paragraph
要素は要素を保持するのではなく、テキスト ノードを保持します。
ただし、マークアップが無効であるため、Firefox 内の DOM ツリーが Chrome と一致していないことに気付きました。
「As a commentor」のテキスト ノードは段落の子である必要がありますが、Chrome でspan
を含む (段落が所有する) が無効であるため、テキスト ノードが兄弟になります。HTML パーサーがツリーを作成すると、 に到達し、それが既に and 内にあり、 aは aを含むことができないため、 を閉じて新しい要素である を作成します。div
p
<div>
p
span
span
div
p
div
Firefox の DOM ツリーは寛大で、実際にネストを続けることができます。これが、参照しているテキスト ノードの配置の不一致の原因です。
基本的にあなたはこれを持っています:
<p><span><div>blah</div></span>As a commentor</p>
Chrome はそれを
<p><span></span></p><div>blah</div>As a commentor
Firefoxはそれを回避できます
<p><span><div>blah</div></span>As a commentor</p>
解決策: HTML を検証し、以下を含めないようにしspan
ますdiv
。
http://validator.w3.org/check?uri=http://gothamist.com/2010/07/18/wikileaks_founder_no-show_at_nyc_ha.php&charset=(検出+自動)&doctype=Inline&group=0
適切にマークアップすると、テキスト ノードがp
.