将var传递给外部jQuery

时间:2009-07-20 20:21:53

标签: jquery variables external

我该怎么写

 var menu = $('.something');

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

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

我还尝试在内联代码后声明外部js文件,但它不起作用。

2 个答案:

答案 0 :(得分:6)

请勿使用var关键字。这将使变量全局化。

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

更干净的解决方案是设置一个具有非常唯一名称的全局对象,然后向其添加属性。例如:

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

然后在其他地方:

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

答案 1 :(得分:1)

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

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

试一试。