Javascript 我可以在load()函数加载的元素上添加/删除类吗?

Javascript 我可以在load()函数加载的元素上添加/删除类吗?,javascript,jquery,html,Javascript,Jquery,Html,我有一个名为“active”的navbar类,带有一些CSS样式。navbar在许多子页面上使用,因此我发现我将使用load()函数加载navbar,而不是在所有子页面上重复代码 问题是,对于由load()函数加载的内容,我无法使用removeClass()删除该类。导航栏已加载,我可以在inspector中看到标签,一切似乎都正常。如果我在HTML中手动放置导航栏,代码就可以运行了 我尝试在CDN脚本之后移动删除类的script标记,但没有帮助(想法是在完全加载的页面上删除类)。我错过了什么

我有一个名为“active”的navbar类,带有一些CSS样式。navbar在许多子页面上使用,因此我发现我将使用
load()
函数加载navbar,而不是在所有子页面上重复代码

问题是,对于由
load()
函数加载的内容,我无法使用
removeClass()
删除该类。导航栏已加载,我可以在inspector中看到标签,一切似乎都正常。如果我在HTML中手动放置导航栏,代码就可以运行了

我尝试在CDN脚本之后移动删除类的
script
标记,但没有帮助(想法是在完全加载的页面上删除类)。我错过了什么

我正在使用以下代码加载导航栏:

$(function(){
  $("#includeNavbar").load("../partials/navbar.html"); 
});
然后我在HTML中添加了一个标记:

<div id="includeNavbar"></div>  

然后我在HTML中使用
标记,但下面的代码不会删除类:

<script>
  $("li").removeClass("active");
  $("li").eq(1).addClass("active");             
</script>

$(“li”).removeClass(“活动”);
$(“li”).eq(1).addClass(“活动”);

问题在于从何处调用
removeClass()
addClass()
。您需要在
load()
的回调中执行此操作,以确保在执行这些调用时DOM中存在内容:

$(function(){
  $("#includeNavbar").load("../partials/navbar.html", function() {
    $("li").removeClass("active").eq(1).addClass("active");
  }); 
});

.load()
是异步的,因此很可能在加载完成之前执行添加/删除类。尝试使用loads()的回调函数谢谢!当我将first()改为eq(1)时,它起作用了,因为我的目标是第二个元素(second()不起作用)。你能告诉我你为什么选择first()而不是eq()?对不起-
first()
是我的错,我误读了代码:)很高兴你让它工作了