用jquery加载HTML页面后,HTML代码不会显示出来

html code wont show up after loading a html page with jquery

本文关键字:HTML 显示 代码 加载 jquery      更新时间:2023-09-26

EDIT:如何扩展/编辑"附加内容" ?我的意思是,如果我有一个名为"网站"的div在"include.html"(我使用jquery加载追加的文件),我可以添加文本/代码到该div后追加它?

我有一个简单的HTML菜单页,我试图加载到我的网站的每一页。对不起,如果这是一个新手问题;)有点不熟悉Jquery/js/html。

下面是其中一个文件:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="cstyles.css">
        <script type='text/javascript' src='jquery-1.9.1.js'></script>
        <script type='text/javascript' src='menu2.js'></script>
        <script type='text/javascript' src='menu_load.js'></script>
    </head>
    <body>
        <script>
            loadContent();
            $(document).on('mouseenter', "#menulist", function() {
                mainmenu();
            });
        </script>
        <div id="contact_us" style="background:blue;">Something</div>
    </body>
</html>

继承者menu2.js:

function mainmenu() {
    $(" #menulist li").hover(function () {
        $(this).find('ul:first').css({
            visibility: "visible",
            display: "none"
        }).show(300);
    }, function () {
        $(this).find('ul:first').css({
            visibility: "hidden"
        });
    });
}
$(document).ready(function () {
    mainmenu();
});

继承者menu_load.js:

function loadContent() {
    $("body").load("include.html");
}

问题是:成功加载菜单(名为INCLUDE.html的html文件)后,页面上的内容"消失"…

在这种情况下,单词:something不会出现。为了更清楚,它将显示一秒钟,然后将被"include.html"文件中的内容所取代。

有什么建议吗?

提前感谢!

这是因为$("#body").load()的工作方式。我建议改成

.prepend()

这是因为您在整个文档中加载include.html文件。你应该创建一个带有id的元素,并在那里加载它。例如

<div id="toload"></div>

那么你的jquery函数将是:

function loadContent() {
$("#toload").load("include.html");
}