jQuery无法处理外部JS文件

时间:2018-08-17 23:52:26

标签: javascript jquery

我有一个自定义的下拉菜单,当我在主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文件上是否起作用?如果没有,是否有办法使它们工作?

2 个答案:

答案 0 :(得分:3)

您需要先加载jQuery,然后加载函数。使用jQuery,您可以等到dom加载和渲染完毕。

parent()children()siblings()函数在外部文件中可以正常工作。

答案 1 :(得分:2)

是否在呈现DOM之前加载JavaScript文件?

尝试使用defer属性:

<script src="js/external.js" defer></script>
  

推迟:

     

此布尔属性设置为向浏览器指示脚本应在文档解析后但在触发DOMContentLoaded之前执行。