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
artem_phantom
@artem_phantom Автор вопроса
Front-end developer
Ребят расслабьтесь, я разобрался.
Я нашел решение:
wrapper[0].getClassData = function() {
   console.log(a); // берется из замыкания;
}

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

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
28 мая 2024, в 08:33
500000 руб./за проект
28 мая 2024, в 07:56
1500 руб./в час
28 мая 2024, в 06:55
400 руб./в час