将变量传递给外部jQuery
我怎么写将变量传递给外部jQuery,jquery,variables,external,Jquery,Variables,External,我怎么写 var menu = $('.something'); 并在外部.js文件中使用它,如下所示: $(menu).attr("class", "active"); 我还尝试在内联代码之后声明外部js文件,但它不会工作 不要使用var关键字。这将使变量成为全局变量 不过,这不是一个好主意;它会弄乱全局名称空间(如果有多个来自不同来源的javascript文件弄乱全局名称空间并重写彼此的变量,则可能会产生问题) 一个更干净的解决方案是设置一个具有唯一名称的全局对象,然后向其添加属性。
var menu = $('.something');
并在外部.js文件中使用它,如下所示:
$(menu).attr("class", "active");
我还尝试在内联代码之后声明外部js文件,但它不会工作 不要使用
var
关键字。这将使变量成为全局变量
不过,这不是一个好主意;它会弄乱全局名称空间(如果有多个来自不同来源的javascript文件弄乱全局名称空间并重写彼此的变量,则可能会产生问题)
一个更干净的解决方案是设置一个具有唯一名称的全局对象,然后向其添加属性。例如:
MyProject = {};
MyProject.menu = $(".something");
然后在其他地方:
$(MyProject.menu).attr("class", "active");
不要使用
var
关键字。这将使变量成为全局变量
不过,这不是一个好主意;它会弄乱全局名称空间(如果有多个来自不同来源的javascript文件弄乱全局名称空间并重写彼此的变量,则可能会产生问题)
一个更干净的解决方案是设置一个具有唯一名称的全局对象,然后向其添加属性。例如:
MyProject = {};
MyProject.menu = $(".something");
然后在其他地方:
$(MyProject.menu).attr("class", "active");
只要在导入引用它的外部js文件之前定义
菜单
,我不明白为什么它不起作用。比如:
<script type="text/javascript">
menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>
菜单=$('.something');
试试看。只要在导入引用它的外部js文件之前定义
菜单
,我不明白为什么它不起作用。比如:
<script type="text/javascript">
menu = $('.something');
</script>
<script type="text/javascript" src="/js/fileThatReferencesMenu.js"></script>
菜单=$('.something');
试试看。+1个好提示,太多的全局var建议都是如此+一个很好的提示,太多的全局var建议漂浮在上面了!!