Задать вопрос
artem_phantom
@artem_phantom
Front-end developer

Как возможно расширить jquery объект (не весь jQuery а конкретный selector)?

Здравствуйте, стоит задача передать jQuery выборке (а может и нескольким выборкам) метод класса рукописного плагина.
вот пример:
$.fn.DealSectionsBuilder = function () { 
      var wrapper = $(this);
      var a = 5;
      return function(b) { 
             a = b;
             wrapper.__proto__.getClassData = function() {
                     console.log(a); // берется из замыкания;
             }
      }
}
var hello = $('#hello').DealSectionsBuilder();
hello(15);
$('#hello').getClassData(); // 15 работает
$('* любой селектор *').getClassData(); // тоже выведет 15 что говорит о том что параметр записывается глобально в jQuery обект

Каким образом мне расширить только конкретный DOM узел (JQuery объект) а не всю библиотеку?
Заранее благодарен за помощь.
  • Вопрос задан
  • 191 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
artem_phantom
@artem_phantom Автор вопроса
Front-end developer
Ребят расслабьтесь, я разобрался.
Я нашел решение:
wrapper[0].getClassData = function() {
   console.log(a); // берется из замыкания;
}

Я раньше пытался расширять jQuery обертку вокруг DOM объекта, однако можно и расширить сам DOM объект как показано выше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы