Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编辑用JQuery加载的HTML_Javascript_Html_Jquery - Fatal编程技术网

Javascript 编辑用JQuery加载的HTML

Javascript 编辑用JQuery加载的HTML,javascript,html,jquery,Javascript,Html,Jquery,我正在尝试为我的网站制作一个带有JQuery的导航栏,这样我就不必在每个网页中编辑它,但有些网页需要不同颜色的按钮 我用找到的答案加载导航栏。我尝试过像$(document).ready()这样的操作,但发现它在导航栏实际加载之前运行。如果我添加一个定时延迟,它确实可以工作,但我觉得这不是很好的做法,因为每个连接都是不同的 有没有什么方法可以让我在导航栏的html中设置一些内容,以便在加载时调用这些内容,或者在导航栏完全加载时在每个页面中添加一些观察者 抱歉没有添加和编码,我想这会有所帮助,只是

我正在尝试为我的网站制作一个带有JQuery的导航栏,这样我就不必在每个网页中编辑它,但有些网页需要不同颜色的按钮

我用找到的答案加载导航栏。我尝试过像
$(document).ready()
这样的操作,但发现它在导航栏实际加载之前运行。如果我添加一个定时延迟,它确实可以工作,但我觉得这不是很好的做法,因为每个连接都是不同的

有没有什么方法可以让我在导航栏的html中设置一些内容,以便在加载时调用这些内容,或者在导航栏完全加载时在每个页面中添加一些观察者

抱歉没有添加和编码,我想这会有所帮助,只是有点尴尬

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Placeholder</title>
        <link rel="stylesheet" href="index.css">
        <script src="jquery-1.10.2.js"></script>
    </head>
    <body>
        <div id="nav">

        </div>
        <script>
            $(function(){
              $("#nav").load("navbar.html");
            });
        </script>

        <div class="index-header">
            <h1>Welcome to PLACEHOLDER</h1>
            <p class="desc">A personal portfolio</p>
        </div>
        <script>
            $(document).ready(function(){
                window.setTimeout(function(){
                    bar = document.getElementsByClassName("bar").item(0);
                    buttons = bar.children[0];
                    var buttonArray = Array.from(buttons.children);
                    buttonArray.forEach(function(item){
                        item.style.color="blue";
                    })
                }, 50);
            });
        </script>
    </body>
</html>

占位符
$(函数(){
$(“#nav”).load(“navbar.html”);
});
欢迎来到占位符

个人投资组合

$(文档).ready(函数(){ setTimeout(函数(){ bar=document.getElementsByClassName(“bar”)。项(0); 按钮=条。子项[0]; var buttonArray=Array.from(buttons.children); buttonArray.forEach(功能(项目){ item.style.color=“蓝色”; }) }, 50); });
现在,我让它加载条,然后在文档的后面,我让它在文档加载时做一些事情,并等待50毫秒。 请原谅我在JS方面的任何不良做法,因为我在这方面还不太熟悉。

使用jQuery方法完成回调:

$("#navigation").load("navigation.html", function(){
    // the new html now exists, do what you want to it here

});

您完全忘记发布您的代码:)请创建一个。热烈欢迎来到Stack Overflow。请将您的代码放在这里并进行解释。作为回答,JS总是迟到。首先,浏览器需要(通过创建DOM树)理解HTML标记,而不是(希望不是)暂停JS解释器启动。。。最后到达了JS应该存在的文档末尾。。。等等,你说的“因为每个连接都是不同的”是什么意思?你指的是速度?是的,我指的是速度。延迟在测试中效果良好,但在生产中效果不佳。它对于我的(慢速)连接太快,或者对于另一个(快速)连接太慢。另外,JS应该位于文档的绝对底部吗?有一个原因,为什么在测试期间,我把它放在我做的地方,但现在我记不起来了。也许我需要从头再学习一遍……正如我所想,您正在文档中传播
标记。尽量不要那样做。在关闭标记之前保留所有脚本。这不是一个问题,而是一个良好的开端。还要学习模板制作。它通常在服务器端完成。此外,以谷歌关于渐进增强和SPA(单页应用程序)为例——这意味着你的网站应该在禁用JS的情况下完美工作,并请求所需的页面(不是必须的)——然后逐步增强它,使其成为“SPA”。