jquery - Jquery函数(文件加载)按顺序
问题描述
我正在使用下面的代码按顺序加载文件并在页面加载时加载。但我得到了
$ 不是函数
最后一个文件“scripts.js”的错误。换句话说,jquery 和 bootstrap 文件总是正确加载,但最后一个文件(我的自定义脚本)显示错误并且没有任何自定义工作。我在做什么?谢谢你的帮助 :)
<script type="text/javascript">
function chamajquery() {
var element = document.createElement("script");
element.src = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/jquery-3.6.0.min.js";
document.body.appendChild(element);
chamabootstrap();
}
function chamabootstrap() {
var element2 = document.createElement("script");
element2.src = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/bootstrap.bundle.min.js";
document.body.appendChild(element2);
chamascriptsmanuais();
}
function chamascriptsmanuais() {
var element3 = document.createElement("script");
element3.src = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/scripts.js";
document.body.appendChild(element3);
}
window.addEventListener("load", chamajquery);
解决方案
- 我希望脚本附加到头部而不是正文
- 您的问题可能是时间问题
- 为什么要使用这种复杂的方式?如果您想让页面加载更快,只需在
</body>
标签之前添加所有 3 个脚本
<script src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/jquery-3.6.0.min.js"></script>
<script src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/bootstrap.bundle.min.js"></script>
<script src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/scripts.js"></script>
</body>
使用 onload 的替代方法(可以更改为 addEventListener)
<script type="text/javascript">
function chamajquery() {
const element1 = document.createElement("script");
element1.onload=chamabootstrap;
element1.src1 = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/jquery-3.6.0.min.js";
document.querySelector("head").appendChild(element1);
}
function chamabootstrap() {
const element2 = document.createElement("script");
element2.onload=chamascriptsmanuais;
element2.src = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/bootstrap.bundle.min.js";
document.querySelector("head").appendChild(element2);
}
function chamascriptsmanuais() {
const element3 = document.createElement("script");
element3.src = "<?php echo esc_url(get_template_directory_uri()); ?>/assets/js/scripts.js";
document.querySelector("head").appendChild(element3);
}
window.addEventListener("load", chamajquery);
推荐阅读
- mysql - 如何找到最后一条 GPS 路线的开始时间
- sparql - sparql 中的偏移量
- python - Python:了解线程和退出线程
- javascript - 如何为谷歌地图创建打开和关闭切换按钮以响应热图
- python - 在 Anaconda 的 Jupyter 中看不到计算机文件
- html - 如何使用 CSS 或 Bootstrap 为元素设置绝对边距?
- powershell - 在 Azure-Pipelines.yml 中使用 AzureFileCopy 任务输出
- swift - 使用 Codable 时的错误 - Swift
- vue.js - 如何让这个子组件在 vue.js 中使用视图路由器进行渲染?
- mysql - mysql按组限制记录加上内部连接多个表