次のことはご存知の方も多いと思います。
var str = '<img src="path/to/some/image" />'
$('#selector').html(str);
これにより、次の HTML が出力されます。
<div id="selector">
<img src="path/to/some/image">
</div>
jQuery は XHTML ではなく真の HTML をレンダリングするため、img タグの末尾にある自己終了の「スラッシュ」を削除します。
私の手は XHTML に対して検証する CMS の使用に縛られているため、システム WYSIWYG にコピーまたは作成されるマークアップには、自己終了タグの末尾に「スラッシュ」が含まれている必要があります。
私の苦境は、Bootstrap Form Builderを使用して手早く汚れたフォームを作成していることです。このアプリケーションは、jQuery .html() を使用してレンダリングされた HTML を作成します。そのため、すべての < input > 終了タグのスラッシュが取り除かれています。レンダリングされたコードをコピーして CMS に貼り付けても、公開できません。
.html() が「スラッシュ」を削除しないようにする賢い方法はありますか? または、少なくとも手動で行うことなくスラッシュを元に戻しますか?