和这个人遇到的问题一样:
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 的情况太多了。