Как получить элемент на котором сработала кастомная функция?

Есть метод который срабатывает после загрузки страницы. В этом методе есть строка:

$jq('#myElement').myCustomFunction("some info", "sometext");

Моя функция принимает 2 параметра:

jQuery.fn.extend({
    myCustomFunction: function (info, text) {

    }
});

Есть ли возможность получить айди элемента (#myElemen) внутри функции?


Ответы (2 шт):

Автор решения: Ercog

Используйте объект this.

В собственных функциях jQuery this представляет ссылку на элемент dom, на который "навешана" ваша функция, поэтому в вашем случае this ссылается на элемент c ID myElement. Если вы собираетесь применять функцию не только к элементам по ID но и по другим селекторам (вариант что вернется несколько объектов dom) есть смысл использовать конструкцию перебора:

$(this).each(function(){
  ...
})
→ Ссылка
Автор решения: a.tarasevich

Для достижения поставленной цели использую this.prop('id'):

jQuery.fn.extend({
    myCustomFunction: function (info, text) {
        console.log(this.prop('id'));
    }
});
→ Ссылка