さっき、Firefox に innerText は使えないから textContent
を使いませう、と書いたばかりなのに、今度は textContent が IE で使えないと言う。
ここで 2 つの選択肢が浮上。
- ブラウザー判定をして、textContent と innerText を使い分ける
- innerHTML を使う
今回、問題になっているコードでは innerHTML で十分。機能過多な気もするけれど間違いがない。一方、ブラウザー判定を入れると他のバグが混入しそう。バグが出るよりもシンプルなコードで。KISS!
(旧)a.textContent = post_title.textContent;
(新)a.innerHTML = post_title.innerHTML;
蛇足
メモ代全りに
- innerText は IE が独自導入したプロパティ。W3C 非公認。Firefox 以外のブラウザーがサポート。
- textContent は W3C が標準化したプロパティ。IE が非サポート。
- innerHTML は W3C が標準化したプロパティ。全てのブラウザーがサポート。innerText/textContent がテキストだけを返すのに対して、innerHTML は HTML 要素もそのまま返す。
No comments:
Post a Comment