javascript - 使用 jQuery 的 .load() 加载页面片段,但替换正文中的所有内容

标签 javascript jquery page-fragments

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

最佳答案

问题源于 anchor 标记的默认行为。默认情况下, anchor 标记重定向到其 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/

相关文章:

html - 在 iframe 中加载页面片段

javascript - Jquery tablesorter 插件试图禁用标题排序但它不工作

javascript - 如何用css和javascript实现打印预览功能。?

javascript - 显示 XPage 中损坏的 Dojo 选项卡

javascript - redux 函数 'connect(mapStateToProps)(ConnectedList)' 的名称(类型)是什么

电话号码的 jQuery 输入掩码

jquery - 以ajax方式在rails 3中提交表单(使用jQuery)

javascript - 警报到来时组合框消失