Как получить элемент на котором сработала кастомная функция?
Есть метод который срабатывает после загрузки страницы. В этом методе есть строка:
$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'));
}
});