XMLでは、要素は開始タグと終了タグの組もしくは空要素タグでなければなりません。HTMLのように開始タグだけの記述はできません。件のTwitterのページようにHTMLのコード片を紹介するとき、metaのようなvoid要素は空要素タグで記述しておくと、それをHTMLのページにコピーしてもXHTMLのページにコピーしても問題なく動くのです。存在しても良いとしています[1]。プロパティで一文字分の余白を開ける、という方法があります。プロパティのどちらを用いるかは、その余白が要素の周囲に存在するものか、内部に存在するかで使い分けます。個の銅バッジ3GASでパラメータをオブジェクトの値にすると!=がおかしくなる?コメントをいただき、ありがとうございます。自己回答の形でまとめさせていただきます。質問のコードを以下のように改めて実行しました。テキストノードの任意の箇所を選択出来ません。動的に要素を追加し、そこに装飾を追加しておく必要があります。メソッドを用いて装飾を適用した要素と入れ替える、という方法があります。よってテキストノードを操作する負担が存在しない分だけ、楽になると思います。HTMLは空文字を送信してしまうのでJavascriptでPHP側でnull判定をさせるという方法ができます。PHPでnullと判定させるには、そもそも送信させないという制御が必要なので条件でinputを追加したり消したりという処理をいれるのが良いと思います。