概要
HTMLが同一かを判断するのに、以下のようなコードを書いていたら、うまく判定できなかったので、検証したメモ。
var str = 'something html code';
if($('#target').html == str){
// same code??
}
CODEPENで検証用のコードをざっと書きました。
テキストエリアにHTMLをかいて「CHANGE」ボタンをクリックすると適用され、アラートで同一か違うか表示されます。
違う場合は、取得されたHTMLコードがアラート表示されます。
See the Pen
Is the HTML code changed after jQuery html() ? by Tsuneaki Hasekura (@tsunet111)
on CodePen.
検証結果
入力テキスト
一致したか(same or not same)
一致していない場合に取得されたコード
の順で記載しています。
テキストTEXT
//same
テキスト<br>TEXT
//same
テキスト<br/>TEXT
//not same
//テキスト<br>TEXT
<p class='sample'>あああ</p>
//not same
//<p class="sample">あああ</p>
<h1>サンプル</h1>
//same
<h1>サンプル<h1>
//not same
//<h1>サンプル</h1><h1></h1>
サンプル<>
//not same
//サンプル<>
さいごに
ブラウザによってコードの解釈が異なり、動作の差異があるようです。