jQuery AJAX 无法获取response内容的问题
程序员文章站
2024-02-10 09:41:40
...
和这个人遇到的问题一样:
http://www.utubon.com/post/1754.html
http://www.utubon.com/post/1754.html
我参考他的解决方式,确实可以解决这个无法获取到内容的问题,但是我知道出现这个问题的原因,它还有其他的解决方法吗?
我网站有一个PC端和移动端,PC端我直接写
var res = $(response).find(".enlist"),
res_url = $(response).find("#loadmore-nav a").attr('href');
是可以正常获取通过ajax get 到的网页内容中的指定内容的
但是到了移动端测试的时候,虽然代码一样,但是获取到的 #loadmore-nav 就是NULL,获取其他的就可以获取到,比如里面的列表 .list可以通过find找到。
回复内容:
和这个人遇到的问题一样:
http://www.utubon.com/post/1754.html
我参考他的解决方式,确实可以解决这个无法获取到内容的问题,但是我知道出现这个问题的原因,它还有其他的解决方法吗?
我网站有一个PC端和移动端,PC端我直接写
var res = $(response).find(".enlist"),
res_url = $(response).find("#loadmore-nav a").attr('href');
是可以正常获取通过ajax get 到的网页内容中的指定内容的
但是到了移动端测试的时候,虽然代码一样,但是获取到的 #loadmore-nav 就是NULL,获取其他的就可以获取到,比如里面的列表 .list可以通过find找到。
这个要看你返回的是个啥HTML
$(response)
是直接封装了返回 HTML 的顶层结点,$(response).length
就表示了顶层节点的数量,这种情况下你如果想找顶层结点,应该用 filter
而不是 find
,前者当前引用数组中筛选,后者是在它们的子节点中查找。
为什么 PC 端和移动端效果不同,不是很清楚,不知道是其它哪里错了还是 jQuery 新版本对 find
做了兼容,因为用错 find 的情况太多了。
推荐阅读