我该怎么写
var menu = $('.something');
并在外部 .js 文件中使用它,如下所示:
$(menu).attr("class", "active");
我也试过在内联代码之后声明外部js文件,它不起作用。
不要使用var
关键字。这将呈现变量全局。
不过,这不是一个好主意。它弄乱了你的全局命名空间(如果你有多个来自不同来源的 javascript 文件弄乱了全局命名空间并覆盖了彼此的变量,则可能会产生问题)。
一个更简洁的解决方案是设置一个具有非常独特名称的全局对象,然后为其添加属性。例如:
MyProject = {};
MyProject.menu = $(".something");
然后在其他地方:
$(MyProject.menu).attr("class", "active");
只要menu
在导入引用它的外部js文件之前定义,我看不出它为什么不起作用。像:
<script type="text/javascript">
menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>
试试看。