Не знаю, вижу ли я теорию о методе обертки прямо - PullRequest
0 голосов
/ 06 марта 2011

Вот код, часть теории о

$.fn greenify = function(){
 return this.css ('color','green');
}

так что это можно использовать следующим образом

$('#today').greenify();

тогда теория говорит:

"Метод-обертка всегда должен возвращать исходный набор, следовательно, return this. Таким образом, вы можете использовать свой метод в цепочке."

Для меня метод-оболочка, который я до сих пор видел, - это способ нацеливаться на несколько элементов HTML. Означает ли это просто, что если вы нацеливаетесь на эти элементы, вы на самом деле получаете эти целевые HTML-элементы такими, какие они есть, без изменений? Так что, когда вы говорите, верните это, вы хотите подтвердить, что точно знаете, что вы получаете, чтобы вы знали, что вы используете, когда вы цепочки? Или это означает что-то другое?

1 Ответ

0 голосов
/ 06 марта 2011

Метод обертки в основном означает, что

Для любого селектора и любого метода method.$ (s) .method () === $ (s)

В вашем случае вы хотите

$.fn greenify = function(){
 return this.each(function() {
  this.css("color", "green");
 });
}

Здесь ваш метод изменяет цвет каждого элемента dom взадавать.И вы уже можете утверждать, что this.each в качестве метода для объекта jQuery $(s) вернет набор $(s), поэтому ваш метод также возвращает $(s).

Конечно, для простоты ради, ваша функция выполняетТо же самое, потому что $.fn.css оптимизирован для работы на съемочной площадке.Для ясности звали $.fn.each сами, а не $.fn.css звонили нам.

...