我想用片段的内容替换原始的div.wrap内容。但是使用.load会替换正文中的所有内容,而不仅仅是特定的div。
$("nav#category-nav>ul>li").on("click", "a", function() {
var $thecontent = $("#thecontent"),
$wrapcontent = $("#thecontent > .wrapcontent");
var path = $(this).attr("href");
$wrapcontent.load(path);
});
答案 0 :(得分:5)
问题源于锚标记的默认行为。默认情况下,锚标记会重定向到其href
。对于您的用例,您必须捕获此默认行为并防止其发生。
将evt
对象添加到函数中并阻止默认行为,如下所示:
$("nav#category-nav>ul>li").on("click", "a", function (evt) {
evt.preventDefault();
var $thecontent = $("#thecontent"),
$wrapcontent = $("#thecontent > .wrapcontent");
var path = $(this).attr("href");
$wrapcontent.load(path);
});
答案 1 :(得分:0)
以分号结束此行不是逗号
并使用e.preventDefault();
var $thecontent = $("#thecontent");