1

我该怎么写

 var menu = $('.something');

并在外部 .js 文件中使用它,如下所示:

 $(menu).attr("class", "active");

我也试过在内联代码之后声明外部js文件,它不起作用。

4

2 回答 2

6

不要使用var关键字。这将呈现变量全局。

不过,这不是一个好主意。它弄乱了你的全局命名空间(如果你有多个来自不同来源的 javascript 文件弄乱了全局命名空间并覆盖了彼此的变量,则可能会产生问题)。

一个更简洁的解决方案是设置一个具有非常独特名称的全局对象,然后为其添加属性。例如:

MyProject = {};
MyProject.menu = $(".something");

然后在其他地方:

$(MyProject.menu).attr("class", "active");
于 2009-07-20T20:24:23.860 回答
1

只要menu在导入引用它的外部js文件之前定义,我看不出它为什么不起作用。像:

<script type="text/javascript">
    menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>

试试看。

于 2009-07-20T20:27:21.327 回答