2009-05-29 1 views
2

Может ли кто-нибудь сказать мне, если я позвоню бывшему.Когда jQuery создает новый объект-оболочку для элемента (ов)?

var obj1 = $('#element_id') 
var obj2 = $('#element_id') 

будет obj1 относятся к тому же, как JavaScript Object obj2 делает, или там будет 2 разные объекты, имеющие один и тот же элемент HTML, они обернуть?

А как насчет сложных селекторов, таких как (.my_class, .my-class2 '), которые обертывают коллекцию объектов?

ответ

2

Это будут разные объекты.

Это очень легко для вас, чтобы испытать себя:

var obj1 = $('#test'); 
var obj2 = $('#test'); 
var array = new Array(); 
array[0] = obj1; 
alert(obj1 == array[0]); 
alert(obj1 == obj2); 

Первое предупреждение будет «истинным». Второй будет «ложным».

2

Они отличаются, поэтому это обычная практика store your jQuery objects, вы можете уменьшить селектор синтаксический, DOM tranversal и т.д. ...

1

Есть ли какие-то возможности, чтобы получить первый объект, имеющий только селектор? это необходимо, когда я храню некоторые значения в этом объекте и хочу их прочитать из другой части кода.

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