body に入れる<p><div></br></div></p>
と、次のような奇妙な DOM 構造が得られます。
<p></p>
<div></br></div>
<p></p>
なぜこれが起こったのですか?<p>
ブロック要素が含まれていると、これが発生するようです。
仕様によると、p
ブロック要素をネストすることはできないため、HTML パーサーdiv
は DOM を構築する前にブロック要素を自動的に閉じます。
p
レベル要素であるため adiv
を保持できず、要素しか保持できないため、試みていることは正しくありません。block
p
inline
span
代わりに使用して CSS でdisplay: block;
orを使用すると、同じ効果が得られます。また、要素としてa を保持できるため、display: inline-block;
完全に受け入れられます。p
span
inline