jquery - 包含的 jQuery 不适用于包含的 html
问题描述
在我的项目中,我想将 include 用于通用 HTML 部分。但是当我包含一个 HTML 文件时,jQuery 不再工作了。下面是我的代码示例。在这种情况下,我想在此页面中包含介绍文本。警报会起作用,但带有类介绍文本的跨度也将可见,而 main.js 中的代码应使其隐藏。有人有什么想法吗?
HTML页面
<div id="include-introText"></div>
<script src="main.js"></script>
<script type="text/javascript">
$('#include-introText').load('intro-text.html', function () {
// nothing
});
</script>
介绍文本.html
<span class="intro-text">Hello, this is an intro text</span>
main.js
$('span.intro-text').hide();
alert('test')
解决方案
这是因为 "main.js" 在 "intro-text.html" 之前加载,这意味着 main.js 正在寻找
$('span.intro-text')
这不会返回任何内容,这意味着您没有隐藏任何内容,然后在加载 intro-text.html 时它只会显示该跨度。为了防止这种情况,您必须在加载 intro-text.html 后加载 main.js。
<div id="include-introText"></div>
<script type="text/javascript">
$('#include-introText').load('intro-text.html', function () {
var script = document.createElement('script');
script.onload = function () {
//do stuff with the script
};
script.src = "main.js";
document.head.appendChild(script);
});
</script>
推荐阅读
- c# - 无法验证 DataGridView 中的单元格
- kubernetes - 留言板教程和redis找不到master
- laravel - 迁移和修补程序作为在继续之前设计和完成数据库的工具
- rabbitmq - RabbitMQ:更改 Windows Server 上的端口
- dart - Flutter 方法 [] 在 null 上被调用
- django - 在阿里云 ECS 上部署 Django 应用
- ios - 如何在 iOS Swift 的“图库”中显示可用的 pdf 文档?
- c# - 不匹配任何可用的视图
- javascript - 不包括 .module.less 的 .less 扩展文件的正则表达式
- bash - 退出正在运行的脚本而不退出 shell