Разметка, показывающая jQuery1281617118201 в Internet Explorer - PullRequest
2 голосов
/ 12 августа 2010

В моей разметке в Internet Explorer я вижу некоторые из следующих элементов:

<span jquery128161711820124="24"></span> 

и

<span jQuery1281617118201="26"></span>  

Что это?

Ответы [ 3 ]

8 голосов
/ 12 августа 2010

Это свойство добавлено, так что jQuery может отслеживать data, связанный с этим элементом.

Такие вещи, как обработчики событий, которые вы присоединяете с помощью jQuery:

$('someElement').click(function() {
    // run code 
});

или данные, которые вы добавляете в элемент с помощью .data()

$('someElement').data('myData', 'myValue');

, являются некоторыми из ассоциаций.

jQuery не добавляет это свойство до тех пор, пока оно не станет необходимым.

Вы можете просмотреть данные, связанные с элементом, используя число в конце, например:

jQuery1281617118201=“26”

console.log(​jQuery.cache[26]);​  // will show the data for element number 26 in the cache
2 голосов
/ 12 августа 2010

Я не уверен на 100%, но я думаю, что это свойство, установленное jQuery для ускорения выбора элемента DOM.

Я думаю, причина, по которой он появляется только в IE, заключается в том, что он не поддерживаеткуча нативных методов getElements (т. е. document.getElementByClassName)

РЕДАКТИРОВАТЬ:

Я был частично прав (я думаю).В исходном коде ( jQuery 1.4.2 ) в строке 986 это сгенерированная база атрибутов для метода now ().Базовый метод, похоже, имеет кеш jQuery.Кэш используется при выборе элементов, поэтому вам не нужно извлекать один и тот же элемент дважды.

0 голосов
/ 12 августа 2010

Был ли этот код сгенерирован вашим приложением или он обнаружен в стороннем коде?

Он выглядит как внутренняя переменная jQuery, используемая для поддержания состояния или для указания на другой объект jQuery (DOM).

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