0

我想用片段的内容替换原来的 div.wrapcontent 。但是使用 .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);
    });
4

2 回答 2

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);
});
于 2014-06-10T18:19:29.967 回答
0

用分号而不是逗号结束这一行并使用e.preventDefault();

var $thecontent = $("#thecontent");
于 2014-06-10T18:18:01.450 回答