我已經搜索並嘗試了一些這方面的事情,但根本無法得到這個工作。我有以下幾種:如何操作ajax響應中返回的html?
$.ajax({
url: 'g.html',
type: 'GET',
dataType: 'html',
timeout: 4000,
cache: false,
error: function(request, status, error){ alert('Error'); },
success: function(html){
alert(html);
var newData=$('#baa', html);
$('#result').html('Blah'+newData);
}
});
alert(html)輸出包含在g.html中的html。然後我嘗試讀取id ='baa'的內容,並將其移入主文檔中的id ='result'。我的最終目標是在放置數據之前處理一些數據,但我無法獲得這個簡單的版本。
g.html看起來是這樣的....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 TRANSITIONAL//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Testing</title>
</head>
<body>
<div id='baa'>
<ul>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
</ul>
</div>
</body>
</html>
我得到完整的HTML輸出,如果我做警報(HTML),如果我試着和newData做任何事情,我得到[對象對象]。
完全難住,任何幫助真的很感激!
請注意 - 請參閱我對其他答案的評論,以瞭解爲什麼使用「過濾器」 – fearofawhackplanet 2010-12-10 12:56:54
這很有用,謝謝。是否有類似的方式獲取
你可以得到標題文本:'$ html.filter('title')。html()'。我不知道有什麼好方法來獲取'head'元素。 ''html','head'和'body'元素用jQuery構造函數'$(html)'剝離出來,這就是爲什麼你需要'filter'來查找'#baa',因爲'#baa'變成了頂層''html'中的高級元素(和'find'在*頂級元素內搜索*)。希望是有道理的! – fearofawhackplanet 2010-12-10 13:07:16