2011-11-06 90 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