和這個人遇到的問題一樣:
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 的情況太多了。