対応する終了タグを挿入せずに、ページのH1要素の後にいくつかの開始DIVタグを挿入したいと思います(終了タグは、アクセスできない付属のフッターファイルに含まれているため)。
すなわち、既存のコード:
<body>
<h1>Heading One</h1>
... page content...
</div>
</div>
</body>
新しいコード:
<body>
<h1>Heading One</h1>
<div id="foo">
<div id="baa">
... page content...
</div>
</div>
</body>
DOMメソッドはdivを完全な(閉じた)要素として挿入し、「createTextNode」はエスケープ文字を挿入し、「innerHTML」は挿入する要素を必要とします。運が悪ければ、document.writeでスクリプト要素を挿入しようとしたことさえあります。
何かアイデアはありますか(jQueryで十分です)?
更新 以下が機能しました:
document.body.innerHTML = document.body.innerHTML.replace('</h1>','</h1><div id="foo"><div id="baa">')
Asadが指摘しているように、解決策(もちろん今では明らかなようです)は、DOMメソッドではなくHTMLで文字列メソッドを使用することです。