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

和这个人遇到的问题一样:
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找到。

阅读 3.8k
1 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题