2011-11-06 105 views
3

我試圖實現腳本,它自動加載tumblr中標記的所有內容。代碼如下所示:jQuery .get>將div附加到頁面

if (is_int($("#page-count").text())) {totalPages = parseInt($("#page-count").text())}; 
for (pageCount=2; pageCount<=totalPages;pageCount++) { 
    $.get("/page/" + pageCount, function(data){$('#test').append($('data > #gallery')}); 

} 

的問題是,我不能選擇使用$ #gallery內容(「數據> #gallery」)(或者至少,我這樣做完全是錯誤的)。有人可以給我一個關於如何正確選擇它的提示嗎?

+0

具有完整的數據響應將有所幫助,因爲馬特的答案似乎是正確的。在附註中,數字ID在html中無效,並且可能導致令人討厭的錯誤。 – roselan

+0

不,我沒有使用數字ID。當我發送請求時,我會得到正常的html頁面。 #gallery嵌套在身體某處。有什麼辦法可以幫助你們解決這個問題嗎?我真的不知道爲什麼它不起作用 – Blackie123

+0

我試過document.write($('#gallery',data)); >它說這是一個對象 – Blackie123

回答

2

好了,我沒使用任何答案,而不是我發現,如果我之前添加HTML註釋和內容後,我想用,我可以做這樣的:

for (pageCount=2; pageCount<=totalPages;pageCount++) { 
    $.get("page/" + pageCount, function(data){ 
     new_posts = data.split("<!-- posts-start --\>")[1].split("<!-- posts-end --\>")[0]; 
     $("#gallery").append(new_posts); 
    }); 
} 
0

您正在嘗試從名爲data的標記中選擇#gallery,這當然不存在。試試這個:

$.get("/page/" + pageCount, function(data){$('#test').append($('#gallery', data)}); 
+0

這並不真正爲我工作。當我做功能(數據){$('#test')。append(數據)}時,它會附加整個html罰款,但是隻選擇div#gallery的內容時,它什麼都不做。 – Blackie123

2

嘗試使用

$.get('/page/' + pageCount + ' #gallery', function(data){ 
    $('#test').append(data); 
}); 

注意這裏是URL,例如之間的空間/page/1和'#gallery'。這將指示jQuery在響應中搜索#gallery,並且不會將其作爲url的一部分傳遞。

+0

工作:) – Blackie123

+0

爲什麼不呢?數據是空的嗎? – Andre

+0

不,它不是。但它並沒有真正有什麼區別,因爲它請求頁面/ 2 /或頁面/ 2 /#庫,因爲它仍然是返回相同的HTML對象 – Blackie123