如何点击链接不刷新页面,将分类页加载到指定div中?
解决方案
首先修正你的jQuery代码,核心思路是利用每个链接自带的href属性获取加载路径,同时阻止默认跳转行为,具体代码如下:
$(".item_link").click(function(e) { // 阻止链接默认的页面跳转行为 e.preventDefault(); // 获取当前点击链接的目标路径 const targetUrl = $(this).attr('href'); // 将对应路径的内容加载到id为load_cats的div中 $("#load_cats").load(targetUrl); });
关键说明:
e.preventDefault():必须添加,否则浏览器还是会执行链接的默认跳转动作,AJAX加载就失效了$(this).attr('href'):因为每个分类链接的href已经由PHP生成好了对应的分类页面路径,直接取这个值就能拿到要加载的地址,完美适配foreach循环生成的所有菜单链接$("#load_cats"):注意选择器要加#,因为是通过id选择元素,之前的代码漏了这个符号,会导致找不到目标容器
额外提示:
如果分类页面包含头部、底部等不需要的内容,可以在load方法里指定加载页面的特定部分,比如页面里有个class="category-content"的容器,就可以写成:
$("#load_cats").load(targetUrl + " .category-content");
内容的提问来源于stack exchange,提问作者yana
相关产品推荐
相关产品推荐

