3

jQueryを使用して単一の終了HTMLタグを削除する方法はありますか?

例:

  <div class="one">
    <div class="two">CONTENT</div>
  </div>
</div>

最後の を削除する必要があります。つまり、div.one が閉じられた後の終了 div タグを意味します。

残念ながら、このプロジェクトで使用しているシステムでは削除できないため、JS/jQuery でこれを行う必要があります。

4

2 に答える 2

5

いいえ、それは不可能です。ページに終了タグがまったくないだけです。

終了タグは、解析される前にHTMLコードに存在します。解析されると、各要素は1つのオブジェクトであり、マークアップの開始点と終了点ではありません。

ブラウザは無効なマークアップを修正しようとしますが、問題はブラウザが異なれば異なることを行うことです。一部のブラウザは余分な終了タグを無視する場合がありますが、他のブラウザは開始タグを暗示して完全な要素にする場合があります。要素を再配置して、余分な終了タグがない状態に復元することもできますが、そのためには、コードを解析するときにすべての異なるブラウザーが何を実行するかを知る必要があります。

さらに悪いことに、そのコードが別のコード内にある場合div、そこで終了したのはそのタグであり、その後に無効なコードが発生します。それがどのように処理されるかは、表示したコードの外にあるコードによって異なります。また、さまざまなブラウザがさまざまな方法で無効なコードを処理する場合があります。

于 2013-03-23T13:48:45.127 に答える
0

クローンメトッド:

$tmp = $('.one').clone( true );
$('#wrapper').empty().append($tmp)
于 2013-03-23T13:46:42.200 に答える