ログ日記

作業ログと日記とメモ

innerHTML

JavaScriptでだいぶハマってた。
単純な文字列置換でもミスるし・・。Ajaxで取ってきたテキストがIEだとタグ名が大文字になるのね。


あとinnerHTML。
prototype.jsを使うとHTMLElementが拡張されている。
タグには _extended="true" が追加されている。
そのinnerHTMLを取ってきてごにょごにょして表示したりするとエラーになることがある。
innerHTMLでは_extended="true"の文字列はコピーされるけど、ただのテキストなので実際にはprototype.jsによって拡張されたメソッドはコピーされていない。しかしこのテキストをElementに差し込んでprototype.jsの機能を使おうとすると、存在しない関数を呼び出してエラーになる。
innerHTMLじゃなくてDOMで操作すべきなんだな・・ちょっと面倒くさい。