从另一个对象中访问对象属性(JavaScript / jQuery)

时间:2009-11-04 14:12:06

标签: javascript jquery object properties

我正在尝试从另一个对象中访问配置对象的属性:

var myConfigObj = {
  $myCachedSelector: $('#mySelector')
}

var myObj = {
  $selector: myConfigObj.$myCachedSelector,
  url: 'http://www.someurl.com/somepath'
}

$.each([ myObj, mySecondObj, myThirdObj ], function() {
  this.$selector.load(this.url, function(){
  //do something
}); 

当尝试在每个函数中使用$ selector时,它返回“undefined”。两个对象都在相同的范围内,我不知道问题是什么。

2 个答案:

答案 0 :(得分:1)

此代码worked well对我来说足够了,只需进行一些小调整:

  • 这可能就是问题:Firefox正在抱怨分号,应该是:

    var myConfigObj = {
       $myCachedSelector: $('#mySelector')
    }
    
  • 当然应该在$(document).ready
  • 最后遗漏了一些});(可能是复制/粘贴的东西)

答案 1 :(得分:1)

  1. 在Firefox中安装Firebug;
  2. 在“脚本”窗格中,在导致错误的行上设置断点;
  3. 在断点处停止时,请检查右侧“监视”窗格中的this;
  4. 如果您停在的this对象的$selector属性具有load方法,那么这不是问题的原因,请继续循环。
  5. 如果this对象没有具有$selector属性,或者有一个没有load方法的属性,那么您已找到你的罪魁祸首。现在弄清楚为什么要将它发送到那个循环中,或者你没有初始化它。