我有一个自定义的下拉菜单,当我在主html文件中添加脚本时,该菜单工作得很好,但是当我从外部JS文件链接该脚本时,该功能似乎有问题。它没有显示输出。
这是脚本
$('.tc-navigation > a').click(function() {
var element = $(this).parent('li');
element.children('ul').toggleClass('toto');
return false;
});
$(document).click(function() {
$('.tc-navigation > li > ul').removeClass('toto');
});
类似parent()
,children()
,siblings()
之类的Jquery功能在外部JS文件上是否起作用?如果没有,是否有办法使它们工作?
答案 0 :(得分:3)
您需要先加载jQuery,然后加载函数。使用jQuery,您可以等到dom加载和渲染完毕。
parent()
,children()
,siblings()
函数在外部文件中可以正常工作。
答案 1 :(得分:2)
是否在呈现DOM之前加载JavaScript文件?
尝试使用defer属性:
<script src="js/external.js" defer></script>
推迟:
此布尔属性设置为向浏览器指示脚本应在文档解析后但在触发DOMContentLoaded之前执行。