我想用片段的内容替换原始的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);
    });

最佳答案

该问题源于锚标记的默认行为。默认情况下,定位标记将重定向到其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);
});

关于javascript - 使用jQuery的.load()加载页面片段,但替换正文中的所有内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24148127/

10-09 13:57