Как я могу получить значение из объекта jQuery? - PullRequest
5 голосов
/ 20 мая 2010

Я возвращаю некоторые данные (пример ниже) и сохраняю их в объект jQuery (или это массив, и я путаю их?) когда я регистрирую переменную то есть у объекта есть значения, которые я ищу, но как мне получить доступ к данным внутри этого объекта?

код

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

console.log($itemPosition);

Это приведет к выходу из системы (в данном случае ожидается) top: 0 & left: 490.

Но как я могу знать, как работать с этими значениями?

Кроме того, хотя это, вероятно, очевидно, я все еще на начальных этапах изучения jQuery / Javascript, я уверен, что справочные книги уже в пути, но пока сообщество SO было неоценимым для моего обучения, спасибо за чтение!

J.

Ответы [ 2 ]

13 голосов
/ 20 мая 2010

Это простой объект 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 голос
/ 20 мая 2010

Если я не ошибаюсь, вы можете просто использовать свойства:

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

console.log($itemPosition.top);
console.log($itemPosition.left);

Все, что вы сделали, - это создали переменную javascript с именем $itemPosition анонимного типа. У него есть два свойства: top и left.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...