2011-01-20 12 views
1

これで、Ajaxの呼び出しによってデータがhtmlとして返されます。jQuery - 別の要素の中にある要素を見つけ、htmlの内容を取得します。

私は今、私はちょうど上記で作成したcomment要素内の他の要素からHTMLコンテンツを取得したいvar comment = $("<ul />").html(data);

と、このデータから要素を作成しています。 私は使用していますvar commentbody = comment.find(".comment-body").html();

これは動作しますが、問題は私が要素の内容を取得することです。私は要素タグも手に入れたい。

どうすればいいですか?

+0

好奇心の疎外で、なぜHTML文字列が必要ですか? – user113716

+0

@patrick dw:コメントテンプレートからコードを分離したいからです。私がコメントの内容のテキストだけを得るなら、私は自分のコメントテンプレートをjavascript(またはその一部)にハードコードする必要があります。当初はリスト項目全体を置き換えたいと思っていましたが、コメントには子コメントが付いているので、うまくいきません。 – Alex

+0

ああ、持っています。 :o) – user113716

答えて

2

あなたはこれを行うことができます。

ここ
var commentbody = comment.find(".comment-body"); 

var outerHTML = commentbody[0].outerHTML || 
          commentbody.clone().appendTo('<div>').parent().html(); 

は、まずあなたが欲しい.comment-body要素を見つけます。次に、DOM要素に[0]でアクセスし、そのouterHTMLプロパティを取得します。それはouterHTML性質を持っていない場合は

は、それから、それのclone()(docs)appendTo()(docs)新しい<div>を作るparent()(docs)<div>までトラバースし、そのhtml()(docs)コンテンツを取得します。

この回答は、の1つが.comment-bodyであると仮定しています。

+0

素敵な、もう一度素敵な説明に感謝します:) – Alex

+0

@Alex:よろしくです。 :o) – user113716

関連する問題