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') );