jQueryAjax响应是html,但可以';我不能操纵它
我基本上是在处理用html发送的服务器响应。我想计算服务器返回的DOM片段中存在的元素数量。 然而,当我这样做的时候:jQueryAjax响应是html,但可以';我不能操纵它,jquery,ajax,Jquery,Ajax,我基本上是在处理用html发送的服务器响应。我想计算服务器返回的DOM片段中存在的元素数量。 然而,当我这样做的时候: $.ajax({ url: '/myAjaxUrl', type: "POST", data : params, dataType: 'html', success: function(data){ var total = $(data).find('li').length; console.log(t
$.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,并且片段确实包含
元素。
我哪里错了??哦
以下是发送的响应头:
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可能有
元素作为顶层,因此.find
将找不到它们
如果是这样,您可以使用.filter
,它搜索元素本身,而不是它们的后代
或者,您可以将HTML包装在一个伪元素中,将所有元素都转换为子元素。
。find
搜索集合中元素的子元素
您的HTML可能有
元素作为顶层,因此.find
将找不到它们
如果是这样,您可以使用.filter
,它搜索元素本身,而不是它们的后代
或者,您可以将HTML包装在一个伪元素中,以将所有元素转换为子元素。片段是否包含
元素?你能显示响应代码吗?当然可以。稍后将注入当前DOM。您可以共享示例html吗?片段是否包含
元素?你能显示响应代码吗?当然可以。这意味着以后将注入当前DOM中。您可以共享示例html吗?如果我执行$('li',data).length之类的操作会怎么样?这将变成对.find
的调用;这不会有什么帮助。如果我做一些像$('li',data).length这样的事情呢?这会变成对.find
的调用;这没用。