4

以下のコードを使用してページを取得しています。

$.get('http://example.com/page1.html', function (data) {

});

ここで、その page1.html 内に #content div があり、Ajax 呼び出しが発生しているページに既に #content div があるため、その内側の html を読み取る必要があるとします。

これを行う正しい方法は何ですか?私は試してみました:

data = $(data).find('#content').html();
$("#content").empty().append(data);

しかし、html() 関数は null を返すため適切ではないようですが、contents() はデータを返しますが、必要なものだけを取得するのに十分なスキルがありません。

どんな助けでも感謝します、ありがとう!!

4

2 に答える 2

0

このコード

data = $(data).find('#content').html();

データが

var data ="<div id='content'>my data</div>";

#contentすでに親であるため、データが

var data ="<div><div id='content'>my data</div><div>";

次に、正確なhtmlを返します。これは、今回は#contentが子であり、これを親divで.find()できるためです。

于 2012-04-22T06:10:37.483 に答える
0

未テスト:

var content = $("#content", data).html(); // or var content = $("#content", $(data)).html();

$("#content").html(content);

編集:これはどうですか?

$('#content').load("http://example.com/page1.html #content");

From: http://api.jquery.com/load/ - 「ページフラグメントの読み込み」。

于 2012-04-22T11:40:59.003 に答える