2012-01-27 72 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 2012-01-27 20:12:54

+0

你用這些數據做什麼?一個文檔不應該有兩個'body'元素,我敢肯定他們不允許嵌套... =/ – 2012-01-27 20:24:21

回答

4

對我來說是什麼工作原理是

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

究其原因,上述工作是因爲body不是一個祖先,因此find沒有工作,給數據根元素,將保證找到工作。您也可以使用.filter

$data.filter('body'); 
+0

完美。謝謝。 – Norse 2012-01-27 20:28:01

+0

另一個選項(相同的結果)是將ajax調用中的'dataType'設置設置爲'html' – ryankeairns 2012-01-27 20:28:59