【问题标题】:Pass a var to external jQuery将 var 传递给外部 jQuery
【发布时间】:2009-07-20 20:21:52
【问题描述】:

我该怎么写

 var menu = $('.something');

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

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

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

【问题讨论】:

    标签: jquery variables external


    【解决方案1】:

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

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

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

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

    然后在其他地方:

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

    【讨论】:

    • +1 好的提示,太多的全局变量建议在 SO 上浮动!!
    【解决方案2】:

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

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

    试试看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-07
      • 2023-03-25
      • 2019-07-09
      • 2015-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多