jQueryトリビアルメモ5 要素の削除

IEでpreタグのinnerHTMLに代入すると勝手にエンティティ化されるばかりか改行コードも空白になっちゃう(※前回エントリ)ということで、jQueryでhtml()を使ってもだめなわけです。


<script type="text/javascript">
$("#hoge").html("hoge\nhoge");
</script>

<pre id="hoge"></pre>

で、どうしたらいいか。そんなことは知らないけれども私の場合は次のようにしました。
createTextNodeでは\nはだめでも\rは使えるっぽいのでこれを使う。


<script type="text/javascript">
if ($.browser.msie) {
   $("#hoge").append(document.createTextNode("hoge\nhoge".replace(/\r?\n/g, "\r")));
} else {
   $("#hoge").html("hoge\nhoge");
}
</script>

<pre id="hoge"></pre>

textareaのvalueなどから改行つきのデータを取ってきてpreタグに代入するとか言う場合はこんなことをすればいいかと。
で、こうやったのはいいんだけど、preタグの中をクリアしたいとき、


$("#hoge *").remove();

とか


$("#hoge").html("");

ではだめだった。


$("#hoge").empty();

でOKだった。

以上

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: 聞いて欲しい独り言 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。