我有一个带有某些CSS样式的导航栏,该导航栏的类名为“活动”。导航栏用于许多子页面,因此我发现与其在所有子页面上重复代码,不如使用load()
函数加载导航栏。
问题在于,对于load()
函数加载的内容,我无法使用removeClass()
删除该类。导航栏已加载,我可以在检查器中看到标签,并且一切似乎都还可以。如果我将导航栏手动放在HTML中,则该代码有效。
我试图移动script
标记,以在CDN脚本之后删除该类,但这样做无济于事(想法是在完全加载的页面上删除该类)。我想念什么?
我正在使用以下代码加载导航栏:
$(function(){
$("#includeNavbar").load("../partials/navbar.html");
});
然后我在HTML中放置一个标签:
<div id="includeNavbar"></div>
然后我在HTML中使用<script>
标记,但是下面的代码不能删除类:
<script>
$("li").removeClass("active");
$("li").eq(1).addClass("active");
</script>
答案 0 :(得分:1)
问题在于您是从哪里呼叫removeClass()
和addClass()
的。您需要在load()
的回调中执行此操作,以确保执行这些调用时该内容存在于DOM中:
$(function(){
$("#includeNavbar").load("../partials/navbar.html", function() {
$("li").removeClass("active").eq(1).addClass("active");
});
});