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