jquery - JQuery 在点击时加载更多帖子
问题描述
我正在尝试在我的博客页面底部添加一个“显示更多”按钮。该页面默认显示 12 个帖子。当我单击“显示更多”链接时,我希望在页面上已有的帖子之后附加更多帖子。
“显示更多”链接使用一点 JQuery 可以完美运行(见下文)。它不起作用的是新帖子的呈现位置。我希望它们出现在 div 内,而不是出现在 div 内。
这是 HTML:
<div id="filter-results">
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<a id="load-older-posts" href="/page/X/">Show More</a>
</div>
这是jQuery:
$('#filter-results').on('click', '#load-older-posts', function(e) {
// prevent new page load
e.preventDefault();
// store next page number
var next_page = $(this).attr('href');
// remove older posts button from DOM
$(this).remove();
// ajax older posts below existing posts
$('#filter-results').append(
$('<div />').load(next_page + ' #filter-results')
);
});
使用当前代码,我得到的是:
<div id="filter-results">
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div>
<div id="filter-results">
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
</div>
</div>
<a id="load-older-posts" href="/page/X/">Show More</a>
</div>
我如何得到类似的东西:
<div id="filter-results">
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<div class="post"></div>
<a id="load-older-posts" href="/page/X/">Show More</a>
</div>
TNX 伙计们!!
解决方案
将 append 放在加载函数回调中,同时#filter-results
在加载函数中选择 div 子项。
$('<div>').load(next_page + ' #filter-results > div', function() {
$('#filter-results').append($(this).html());
});
也可以选择使用儿童班
$('<div>').load(next_page + ' #filter-results > .post', function() {
$('#filter-results').append($(this).html());
});
或者如果你不想选择它的孩子
$('<div>').load(next_page + ' #filter-results', function() {
$('#filter-results').append($(this).find('#filter-results').html());
});
来源:https ://forum.jquery.com/topic/load-but-append-data-instead-of-replace#14737000001115765
推荐阅读
- server - 使用 EasyModbusTCP lib 在同一台电脑上控制多个 Modbus 服务器
- javascript - 如何在正则表达式中捕获可选组?
- css - 为什么 CSS 中的 ":is()" 选择器似乎不起作用?
- ubuntu - Microk8s 节点未准备好 - InvalidDiskCapacity
- python - 如何使用 Selenium 和 Python 在 codeur.com 登录页面上找到并单击提交按钮
- python - 关键权限
- c# - 尝试发布 asp.net 项目时出错
- c# - 如何使用 .NET Core 在 Azure Function V3 中使用 IOptions 模式
- unit-testing - Nestjs中不导入手动mock
- java - 倒数计时器中的处理程序延迟方法