Почему в конечном итоге предлагает $$(это), чтобы сохранить состояние?
Как объясняется здесь, чтобы сохранить состояние, которое должно быть доступно в различных событиях, $$(this)
рекомендуется, как это:
$$(this).filters = "myvalue";
Что означает этот синтаксис? Зачем $$
(двойной доллар)? Зачем this
? Почему ()
(скобки)?
Этот код все равно не работает для меня. Я должен использовать что-то вроде:
$.filters = "myvalue";
Я хотел бы понять, почему вторая форма работает, а первая нет.
1 ответ
Просто проверьте исходный код Eventlly, $$
это просто сокращение для JQuery's data
метод:
function $$(node) {
var data = $(node).data("$$");
if (data) {
return data;
} else {
data = {};
$(node).data("$$", data);
return data;
}
};
Итак, в двух словах - это вызывает data
что бы ни возвращал jQuery для вашего аргумента, если нет прикрепленных данных, он создает пустой объект, используйте это как новый data
и возвращает его.
$.filters = "myvalue"
Это работает путем присвоения значения глобальному объекту jQuery, в то время как $$
прикрепляет ваши данные к объекту, представленному запросом.