【问题标题】:How can I get a value out of a jQuery object?如何从 jQuery 对象中获取值?
【发布时间】:2010-05-20 00:42:05
【问题描述】:

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

代码

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

console.log($itemPosition);

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

但是我怎么知道如何使用这些值呢?

另外,虽然这很明显我仍处于学习 jQuery/Javascript 的早期阶段,但请放心,参考书正在路上,但到目前为止,SO 社区对我的学习来说非常宝贵,所以感谢阅读!

J.

【问题讨论】:

    标签: jquery arrays object


    【解决方案1】:

    这是一个普通的 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 - 我要进一步强调一点,您的 var 可能应该命名为 itemPosition 而不是 $itemPosition大多数 jQuery 代码使用$item 上的$ 前缀作为将变量标记为jQuery 对象的一种方式。 - var $item = $('#theitem");
    • @gnarf - 确实。即使在简短的示例中,也让我措手不及。
    • 感谢您提供非常详细的答案。我已经调整了我的脚本,还删除了 $ 符号,从这里开始,我将只用于实际的 jQuery 对象。再次感谢。
    【解决方案2】:

    如果我没记错的话,你可以使用属性:

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

    您所做的只是创建一个名为$itemPosition 的匿名类型的javascript 变量。它有两个属性,分别称为topleft

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      相关资源
      最近更新 更多