javascript - 我可以在 load() 函数加载的元素上添加/删除类吗?
问题描述
我有一个导航栏,其类名为“active”,带有一些 CSS 样式。导航栏用于许多子页面,所以我发现不是在所有子页面上重复代码,而是使用load()
功能加载导航栏。
问题是,通过load()
函数加载的内容,我无法使用removeClass()
. 导航栏已加载,我可以在检查器中看到标签,一切似乎都很好。如果我将导航栏手动放在 HTML 中,代码就可以工作。
我试图script
在 CDN 脚本之后移动删除类的标签,但它没有帮助(想法是在完全加载的页面上删除类)。我错过了什么?
我正在使用以下代码加载导航栏:
$(function(){
$("#includeNavbar").load("../partials/navbar.html");
});
然后我在 HTML 中放了一个标签:
<div id="includeNavbar"></div>
然后我<script>
在 HTML 中使用标签,但下面的代码不会删除类:
<script>
$("li").removeClass("active");
$("li").eq(1).addClass("active");
</script>
解决方案
问题是你在哪里打电话removeClass()
和从哪里来addClass()
。您需要在 的回调中执行此操作load()
,以确保在执行这些调用时内容存在于 DOM 中:
$(function(){
$("#includeNavbar").load("../partials/navbar.html", function() {
$("li").removeClass("active").eq(1).addClass("active");
});
});
推荐阅读
- git - 执行 Jenkins 作业时出错:致命:引用不是树
- c++ - c++继承和容器协变
- node.js - 如何使 HTML 身份验证表单和 JSON Web 令牌在 Ionic/Angular 中一起通信
- swift - React Native CameraRoll 文件上传
- kubernetes - 使用声明性命令创建 Kubernetes Pod 时获取 ErrImagePull:401 Unauthorized
- java - 为什么'发生在之前; 关系叫这样吗?
- java - 与 Java SE 兼容的 GraalVM 原生镜像(Substrate VM - Darwin)
- barcode - iText 7 将条形码添加到带有事件的每个页面
- xml - 是否有将 OO 对象与 XML 相互转换的标准?
- makefile - make 命令未检测到 windows10 中的 make 文件