Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   return this.each (https://javascript.ru/forum/jquery/26554-return-each.html)

n1ko 12.03.2012 22:18

return this.each
 
Доброго времени суток. При выяснении одного вопроса, появился другой.
Зачем мне использовать each при работе с плагинами?
Вот в официальном мануале код:

(function( $ ){

  $.fn.lockDimensions = function( type ) {  

    return this.each(function() { // начало

      var $this = $(this);

      if ( !type || type == 'width' ) {
        $this.width( $this.width() );
      }

      if ( !type || type == 'height' ) {
        $this.height( $this.height() );
      }

    }); // Конец 

  };
})( jQuery );


Ну так для чего же необходимо использовать return this.each?

zebra 12.03.2012 22:49

В 5 строке this это объект который содержит элементы выборки.
$('#id, #id2') -> вернет объект в котором 2 элемента. each проходится по всем элементам и для каждого применяет ваш код.

n1ko 12.03.2012 23:15

Спасибо! Теперь понял, что в моём случае, где нужно вывести на экран всего лишь одну панельку с интерфейсом, я не нуждаюсь в данной процедуре.

FINoM 13.03.2012 05:04

Проще говоря это нужно для цепочечного вызова методов:
$( '.elements' ).addClass( 'blah' ).lockDimensions( type ).hide().css( 'color', 'red' );


Часовой пояс GMT +3, время: 20:12.