【问题标题】:Saving a reference to jquery element in a hash array在哈希数组中保存对 jquery 元素的引用
【发布时间】:2012-05-30 18:35:22
【问题描述】:

为了性能,我经常会在 var 中保存对 dom 元素的引用,例如:

var $header = $("#header");

如果我有多个元素,我希望能够执行以下操作:

var someNamespace = {
  $header : $("#header"),
  $footer : $("#footer")
}

后者似乎抛出了一个错误。在不创建大量变量的情况下如何处理这个问题?

【问题讨论】:

  • 为什么需要大量的变量? ;)
  • “好像报错了”?什么错误? JS 控制台说什么?我看不出你发布的内容有什么问题,实际上它对我来说很好用:jsfiddle.net/tSzMH(顺便说一句,JavaScript 术语是“对象”,而不是“哈希数组”。)
  • @nnnnnn。除了几分钟前是var someNamespace = { $header = $("#header"), $footer = $("#footer") };​:(
  • 愚蠢的深夜错误。我稍后重新分配命名空间 obj 而不是附加到它。谢谢各位!

标签: javascript jquery object namespaces


【解决方案1】:

您的代码:

var someNamespace = {
    $header = $("#header"),
    $footer = $("#footer")
};​

= 替换为:

var someNamespace = {
    $header: $("#header"),
    $footer: $("#footer")
};​

这是object literals 声明的语法。

阅读更多MDN

【讨论】:

  • 这是我重新输入代码时的一个粗心错误,感谢您发现它。除此之外还有一个问题。
  • @b-b。错误是什么?你想做什么?使用someNamespace 的代码是什么样子的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多