如何从jQuery对象中获取值?

时间:2010-05-20 00:42:06

标签: jquery arrays object

我正在返回一些数据(下面的示例)并将其保存到jQuery对象(或者这是一个数组,我在混淆两个?)当我登录时作为对象的变量,它具有我正在寻找的值但是如何访问该对象内的数据?

$itemPosition = {
    'top': $item.offset().top,
    'left':$item.offset().left
},

console.log($itemPosition);

这会注销(在这种情况下是预期的) top: 0& left: 490

但我怎么知道这些价值观的工作呢?

此外,虽然这很明显我仍然处于学习jQuery / Javascript的早期阶段,但请放心,参考书已经开始了,但到目前为止,SO社区对我的学习非常宝贵,所以感谢阅读!

学家

2 个答案:

答案 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变量。它有两个名为topleft的属性。