2010-04-16
jQuery で outerHTML() を実現する
jquery | | ![]()
jQuery で、innerHTML じゃなくて outerHTML を実現する方法があった。
jQuery.fn.outerHTML = function(s) {
return (s)
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
}
jQuery: outerHTML | Yelotofu
わかりやすく書くとこんな感じか。
jQuery.fn.outerHTML = function(s) { if (s) { this.before(s); # 自分の直前に挿入。 this.remove(); # そして自分自身を削除。 return this; } else { var dummy = jQuery("<p>") # ダミーの <p> を作成。 var elem = this.eq(0); # 最初の要素を取り出し、 dummy.append(elem.clone()); # そのコピーを <p> に挿入。 return dummy.html(); # <p> の innerHTML を返す。 } }
なるほどねー。勉強になった。
コメントを書く
トラックバック - http://d.hatena.ne.jp/kwatch/20100416/1271376458
リンク元
- 18 http://www.rubyist.net/~kazu/samidare/
- 8 http://reader.livedoor.com/reader/
- 3 http://clip.livedoor.com/page/2943970/ Mercurial や Git が使える無料のリポジトリサービスを集めて?%
- 3 http://www.google.co.jp/reader/view/?hl=ja&tab=wy
- 3 http://www.google.com/reader/view/
- 2 http://d.hatena.ne.jp/
- 2 http://d.hatena.ne.jp/shiba1029196473/20100222/1266800285
- 2 http://hato-style.chu.jp/note/htmlcss.html
- 2 http://reader.livedoor.com/headline/
- 2 http://www.google.co.jp/search?hl=ja&client=safari&rls=en&q=python+print+出力+,+スペース&lr=&aq=f&aqi=&aql=&oq=&gs_rfai=