• ベストアンサー

jQueryで指定した要素自身のHTML

jQueryを使用していて困っています。 下記の様なHTMLがある場合に <div id="hoge">   <div id="first">hoge</div>   <div id="second">hogehoge</div>   <div id="third">hogehogehoge</div> </div> “<div id="second">hogehoge</div>”を取得したいです。 $("#second").html()では、   hogehoge が取得されることになりますし、 $("#hoge").html()では、   <div id="first">hoge</div><div id="second">hogehoge</div><div id="third">hogehogehoge</div> が取得されることになると思います。 $("#second").wrap("<div class='target'></div>")して、 $(".target").html()を取得しても良いのですが、 他のところで影響がでそうで怖いので、できれば避けたいです。 (殆ど完成状態にありますので……) 何か良い方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#137826
noname#137826
回答No.2

例えば、 $('<div>').append($('#second').clone()).html() で、どうでしょう?.clone()を使ってコピーを作り、それを「入れ物」にいれてから.html()で中身を取得する、という方法です。

kamepanman
質問者

お礼

なるほど!! 確かにそれならいけますね!! 助かりましたありがとうございます!!

その他の回答 (1)

noname#140082
noname#140082
回答No.1

ゴメンなさい。私も詳しくないので(勉強中なので)具体的な記述がわかりませんが、 :nth-child(2)を使えばできるのではないでしょうか。(1から始まる要素数) また、 :eq(1)でもいいみたいです。(0から始まる要素数)

参考URL:
http://semooh.jp/jquery/api/selectors/:nth-child/
kamepanman
質問者

お礼

ありがとうございます。 少し方向がずれた回答ですね。 実は、今となっては、outerHTML使えば良いんじゃね?と思いましたwww

関連するQ&A

専門家に質問してみよう