Когда jQuery создает новый объект-обертку для элемента (ов)? - PullRequest
2 голосов
/ 29 мая 2009

Может кто-нибудь сказать мне, если я позвоню бывшим.

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

будет ли obj1 ссылаться на тот же объект javascript, что и obj2, или будет 2 разных объекта, имеющих один и тот же HTML-элемент, который они переносят?

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

Ответы [ 3 ]

2 голосов
/ 29 мая 2009

Они разные, поэтому обычной практикой является хранение ваших объектов jQuery , вы можете уменьшить разбор селектора, трансверсаль DOM и т. Д. *

2 голосов
/ 29 мая 2009

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

Вам очень легко проверить себя:

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

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

1 голос
/ 29 мая 2009

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

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