Согласно стандарту html некоторый набор элементов на странице может иметь общие классы, однако >
Для начала представим наш базовый набор элементов на странице, с которым мы будем работать:
Для того чтобы узнать был ли клик по одному из элементов, мы будем использовать обработчики событий. В jQuery это традиционно делается таким образом, за основу берется имя класса, присвоенного нашим ключевым элементам. После клика на какой-либо элемент, посредством обработчика события мы будем определять точный элемент, по которому был произведен клик. Этот метод довольно универсален.
Кроме этого, для определения id элемента в jQuery нет отдельной функции которая это дело выполняет. Однако это легко компенсируется возможностью использования универсальной функции attr. Данная функция позволяет получать атрибуты элемента, а как мы знаем, id элемента так же является атрибутом. Таким образом, мы получаем возможность оперировать указателем $(this) который будет ссылаться на тот элемент, на который был произведен клик.
По аналогии, вместо $(this) мы можем воспользоваться указателем this, который по сути является DOM аналогом этого объекта. Разумеется между ними есть разница, но для наших задач это не столь принципиально.
Ещё один способ реализации, ничем не лучший и не хуже предыдущих — это использование объекта, который будет содержать ссылку на элемент, по которому был произведен клик:
В jQuery нет отдельной функции для получения >attr . Как известно, эта функция получает атрибут элемента, а >$(this) будет ссылаться на тот элемент, по которому произведен клик:
Но можно пойти и немного другим путём, по сути выполнить то же самое, только использовать не указатель $(this) объекта jQuery, а другой указатель this , который будет указывать не на объект типа jQuery, а на DOM-аналог этого объекта. Если я Вас запутал, почитайте вопрос об разнице между $(this) и this.
А ещё можно это сделать через объект event , в котором также будет хранится ссылка на «кликнутый» элемент:
Но вообще-то надобность получить >$(this) .
В процессе работы бывает, что требуется получить ID элемента jQuery по которому кликнул пользователь. На странице есть несколько таких элементов с одинаковыми классами, но с разными ID. В этом случае обработчик события клика вешается на общий класс, а не на каждый элемент. Как в этом случае получить ID? Какой от отдельной функции в JQuery не предусмотрено, но это можно сделать и другими способами.
Способ 1
Использование функции .attr() — возвращает или изменяет значение атрибутов у выбранных элементов страницы.
Способ 2
Использование функции .prop() — Возвращает или изменяет значение свойств выбранных элементов страницы.
Источник: