jQuery использует эти свойства "expando" для отслеживания данных, связанных с элементами. jQuery использует свой API данных для обработки событий, а также любые общие данные, которые вы можете захотеть привязать к элементу (используя $.data
).
Свойство (jQuery1279875396122
) будет иметь значение, связанное с позицией в jQuery.cache
.
Причина, по которой jQuery не сохраняет данные непосредственно в элемент (как обычные свойства), заключается в том, чтобы избежать утечек памяти и, как правило, быть немного менее навязчивым.
В качестве примера, когда вы привязываете обработчик событий к элементу, например:
jQuery('div').click(doSomething);
Функция doSomething
будет храниться в jQuery.cache
, и на элементарном уровне ее позиция (или, скорее, позиция объекта, который на нее ссылается) будет присвоена свойству элемента jQuery1279875396122
. jQuery по-прежнему будет использовать собственный API браузера для привязки к событию элемента, но при его запуске jQuery выполнит поиск (в jQuery.cache
) и вызовет правильные обработчики.
РЕДАКТИРОВАТЬ: Чтобы было ясно, эти свойства не являются поводом для беспокойства. Вы должны ожидать их появления на всех элементах, которые имеют какие-либо данные, привязанные через jQuery (включая обработчики событий). Я был бы очень удивлен, если бы это было причиной вашей проблемы с рендерингом.
person
James
schedule
23.07.2010
data
для присвоения данных элементам? Я думаю, что эти атрибуты добавляются к элементам, чтобы отслеживать уникальные узлы. Однако это никак не должно повлиять на рендеринг. Можете ли вы опубликовать URL-адрес? - person RoToRa   schedule 23.07.2010