2012-01-27 14 views
1

AJAXから返されたページの本文を見つけると、nullが返されます。私のJQueryコードは次のとおりです。JQueryでAJAXコールバックの要素を見つける方法は?

$(document).ready(function(){ 
$("#button").click(function(){ 
    $.ajax({ 
      url: 'testpagec.php', 
      type: 'GET', 

      success: function(data) { 
       var test = $(data).find('body'); 
       alert(test.html()); 

      } 
     }); 
    return false; 
}); 
}); 

これは紙には完璧に見えますが、意図したとおりに機能していません。これを修正するためのアイデア?ありがとう。私の作品は何

+0

警告の代わりにconsole.logを使用し、返される内容を確認するためにデータを記録します。 – Archer

+0

このデータで何をやっていますか?文書は2つの 'body'要素を持つべきではありません。そして、私はそれらが入れ子にされることができないと確信しています... =/ –

答えて

4

bodyが故にfind作品を見つける確保するデータをルートレベルの要素を与え、動作しませんでした祖先ではなかったため、上記の作品がある。この

var $data = $('<div>').html(data); 
$data.find('body'); // this works now 

理由です。 .filterを使用することもできます。

+0

パーフェクト。ありがとう。 – Norse

+0

もう1つのオプション(同じ結果)は、ajax呼び出しの 'dataType'設定を' html'に設定することです – ryankeairns

関連する問題