我正在返回一些数据(下面的示例)并将其保存到jQuery对象(或者这是一个数组,我在混淆两个?)当我登录时作为对象的变量,它具有我正在寻找的值但是如何访问该对象内的数据?
码
$itemPosition = {
'top': $item.offset().top,
'left':$item.offset().left
},
console.log($itemPosition);
这会注销(在这种情况下是预期的) top: 0
& left: 490
。
但我怎么知道这些价值观的工作呢?
此外,虽然这很明显我仍然处于学习jQuery / Javascript的早期阶段,但请放心,参考书已经开始了,但到目前为止,SO社区对我的学习非常宝贵,所以感谢阅读!
学家
答案 0 :(得分:13)
这是一个简单的javascript对象。不是jQuery对象而不是数组。
访问对象的属性将如下所示:
$itemPosition.top;
$itemPosition.left;
将$
作为名称的第一个字符放置是有效的,但可能会导致混淆,因为它是存储jQuery对象时使用的约定。
访问对象属性的另一种有效方法是使用方括号,如:
$itemPosition['top'];
$itemPosition['left'];
使用方括号方法,您还可以传入变量,如下所示:
var myTopString = 'top';
$itemPosition[myTopString];
如果要迭代对象中的所有值,可以执行以下操作:
for(var n in $itemPosition) {
alert( n + ': ' + $itemPosition[n] );
}
这将alert()
每个对象属性的键和值。如您所见,它使用方括号方法,为变量n
中存储的每个属性传入键。
这就是我要说的全部内容。 -F。阿甘
答案 1 :(得分:1)
如果我没弄错,你可以使用属性:
$itemPosition = {
'top': $item.offset().top,
'left':$item.offset().left
},
console.log($itemPosition.top);
console.log($itemPosition.left);
您所做的就是使用匿名类型创建名为$itemPosition
的javascript变量。它有两个名为top
和left
的属性。