[英]jquery ajax response is html, but can't manipulate it
我基本上是在嘗試處理在 html 中發送的服務器響應。 我想計算服務器發回的 DOM 片段中存在的一些元素。 然而,當我這樣做時:
$.ajax({
url: '/myAjaxUrl',
type: "POST",
data : params,
dataType: 'html',
success: function(data){
var total = $(data).find('li').length;
console.log(total);
}
});
我的 var 總數為 0。Firefbug 顯示正確的 html,並且片段包含<li/>
元素。 我哪里錯了?? 哦??
以下是發送的響應標頭:
Date Tue, 03 May 2011 12:52:55 GMT
Server Apache/2.0.64 (Unix) PHP/5.3.5 DAV/2
X-Powered-By PHP/5.3.5
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
X-Robots-Tag noindex,nofollow
Keep-Alive timeout=15, max=99
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html
部分 HTML 回答:
<li >
<div class="">
<a class="lookVisu" href="" rel="noindex,nofollow">
[...]
</li>
.find
搜索集合中元素的后代。
您的 HTML 可能有<li>
元素作為頂層,因此.find
找不到它們。
如果是這樣,您可以使用.filter
來搜索元素本身,而不是它們的后代。
或者,您可以將 HTML 包裝在一個虛擬元素中,以將所有元素轉換為后代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.