jQuery .load可以追加而不是替换吗?

我有一个WordPress安装,我正在尝试使用jQuery创建一个Load More效果。 我在使用页面片段的基本.loadfunction时遇到了一些麻烦。 我不介意使用.get,因为我在这里看到一些线程,认为这是一个更好的解决方案。

这是我的页面URL结构和内容:

第一页: http://example.com/page/1/http://example.com/page/1/

HTML:

 
blah blah blah
blah blah blah
blah blah blah
blah blah blah

第二页: http://example.com/page/2/http://example.com/page/2/

HTML:

 
blah blah blah
blah blah blah
blah blah blah
blah blah blah

我在页面底部有一个链接,我尝试过以下操作:

 jQuery(#articles).load('http://example.com/page/2/ #articles'); 

可悲的是,有两个问题。 首先,.load函数从第二页抓取#articles div及其内容,并将其放入现有的#articles div 。 这意味着,即使这样做,每次点击都会产生div内的递归div。 这太乱了。

有人可以帮我命令,只需将第二页的.story classes附加到第一页的#articles div吗? 我可以用WordPress之后的变量,循环和PHP来计算自动化的后勤工作。 只需要适当的jQuery脚本一些帮助。

PS Bonus问题:如果有人知道jQuery .load / .get是否会损害网页浏览量,这对于那些有广告收入的人来说非常重要,请告诉我们! 如果每个.load / .get都算作Google Analytics的另一个点击,我们就很好!

谢谢!

您不能使用jQuery.load()方法追加内容,但您可以使用jQuery.get()执行您想要的操作:

 $.get('/page/2/', function(data){ $(data).find("#articles .story").appendTo("#articles"); }); 

我可能会这样做。

 $('#articles').append($('
', { id: '#articles-page2' }); $('#articles-page2').load('http://example.com/page/2/ #articles > *');

#articles > *所有直接孩子提取到#article

为了追加数据,我认为你不想使用$ .load()。 相反,您可能希望使用$ .ajax()。

 $.ajax({ url: 'yourlocation/test.html', success: function(data) { $('.result').html(data); $("#yourdiv").append(data); } }); 

试试这个对我有用。

 $('#articles').append( $('
').load('http://example.com/page/2/ #articles') );