首页 >后端开发 >php教程 >jQuery AJAX 无法获取response内容的问题

jQuery AJAX 无法获取response内容的问题

WBOY
WBOY原创
2016-06-06 20:08:461167浏览

和这个人遇到的问题一样:
http://www.utubon.com/post/1754.html

我参考他的解决方式,确实可以解决这个无法获取到内容的问题,但是我知道出现这个问题的原因,它还有其他的解决方法吗?

我网站有一个PC端和移动端,PC端我直接写

<code>var res = $(response).find(".enlist"),
    res_url = $(response).find("#loadmore-nav a").attr('href');</code>

是可以正常获取通过ajax get 到的网页内容中的指定内容的

但是到了移动端测试的时候,虽然代码一样,但是获取到的 #loadmore-nav 就是NULL,获取其他的就可以获取到,比如里面的列表 .list可以通过find找到。

回复内容:

和这个人遇到的问题一样:
http://www.utubon.com/post/1754.html

我参考他的解决方式,确实可以解决这个无法获取到内容的问题,但是我知道出现这个问题的原因,它还有其他的解决方法吗?

我网站有一个PC端和移动端,PC端我直接写

<code>var res = $(response).find(".enlist"),
    res_url = $(response).find("#loadmore-nav a").attr('href');</code>

是可以正常获取通过ajax get 到的网页内容中的指定内容的

但是到了移动端测试的时候,虽然代码一样,但是获取到的 #loadmore-nav 就是NULL,获取其他的就可以获取到,比如里面的列表 .list可以通过find找到。

这个要看你返回的是个啥HTML

$(response) 是直接封装了返回 HTML 的顶层结点,$(response).length 就表示了顶层节点的数量,这种情况下你如果想找顶层结点,应该用 filter 而不是 find,前者当前引用数组中筛选,后者是在它们的子节点中查找。

为什么 PC 端和移动端效果不同,不是很清楚,不知道是其它哪里错了还是 jQuery 新版本对 find 做了兼容,因为用错 find 的情况太多了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn