Archiva

A note of notions. On web, tech, and others.



IE以外でinnerTextを使う方法

IEの独自属性である「innerText」はオブジェクトから「テキストのみ」直接取得する、とても便利なメソッドです。これをMozillaベースのブラウザでも実装できるHackを見つけたので、メモっておきます。

IE以外でinnerTextを使用する [innerText]

Script

  1. HTMLElement.prototype.__defineGetter__
  2. (
  3. "innerText",function()
  4. {
  5. var textRange = this.ownerDocument.createRange();
  6. textRange.selectNodeContents(this);
  7. return textRange.toString();
  8. }
  9. );

選択範囲を作成し、そこからコンテンツを取得して文字列として返しているわけですね。ネタ元はIBM。「__defineGetter__」はある特定のプロパティの値を取得するメソッドです。

  1. HTMLElement.prototype.innerText = function() {};

上みたく「prototypeで書けたらすっきりするのにな~」と考えたのですが、巧くできませんでした。なんでだろ?

参照

Posted in /web/javascript
ブックマークする: save to del.icio.us はてなブックマーク livedoor クリップ Google Bookmarks Tumblr

コメントする

名前
Webサイト
コメント

画像に表示されている5桁の英数字を入力してください。
captcha



Back to page-top