2012-05-24 2 views
0

Для выполнения, я часто сохранять ссылки на DOM элементы в вар, такие как:Сохранение ссылки на Jquery элемент в хэш-массива

var $header = $("#header"); 

Если у меня есть несколько элементов, я хотел бы уметь сделать что-то вроде:

var someNamespace = { 
    $header : $("#header"), 
    $footer : $("#footer") 
} 

Последний, кажется, дает ошибку. Как вы справляетесь с этим, не создавая тонны варов?

+0

Зачем вам тонны Варса? ;) –

+0

_ «Кажется, что ошибка» _? Какая ошибка? Что говорит консоль JS? Я не вижу ничего плохого в том, что вы опубликовали, действительно, для меня это работало отлично: http://jsfiddle.net/tSzMH/ (Кстати, термин JavaScript - это «объект», а не «хэш-массив», .) – nnnnnn

+0

@nnnnnn. кроме этого было 'var someNamespace = { $ header = $ (" # header "), $ footer = $ (" # footer ") };' пару минут назад. **: (** – gdoron

ответ

1

Ваш код:

var someNamespace = { 
    $header = $("#header"), 
    $footer = $("#footer") 
};​ 

заменить = с :

var someNamespace = { 
    $header: $("#header"), 
    $footer: $("#footer") 
};​ 

Это синтаксис для object literals деклараций.

Подробнее в MDN

+0

Это была неосторожная ошибка в моем переименовании кода, спасибо, что поймал его. кроме этого. –

+0

@bb. Какая ошибка? Что вы пытаетесь сделать? Как выглядит код с использованием 'someNamespace'? – gdoron

Смежные вопросы