2013年10月22日火曜日

jQuery : bloggerでjQueryを使ったら$(elem).text("文字列")と$(elem).html("文字列")の微妙な違いでハマる

ちょっと前の投稿でjQueryを使いました。 それである要素内のテキストを設定するため$(elem).text("文字列")を使ったところ不具合が。 いくつかの記号がコードを使った文字参照形式(&#???;)で、そのままブラウザの画面に表示されてしまったのです。 おそらく、文字参照への変換が2度行われてしまったのでしょう。

原因は調べてませんが、ローカルで試したときは問題なく表示されてたのでbloggerの使っているコードと自分で用意したjQueryが干渉してこうなってしまったのだと思われます。 $(elem).html("文字列")の方を使ったら問題なく記号を設定できました。

というわけで、bloggerで使うスクリプトにjQueryを含める場合、$(elem).text("文字列")に注意が必要です。