@caterina
Чтобы получить содержимое тега по клику в jQuery, нужно выбрать элемент с помощью селектора и добавить обработчик события click(). Внутри обработчика можно использовать метод text() для получения текстового содержимого элемента или методы html() и val() для получения содержимого HTML-атрибута innerHTML или значения атрибута value.
Например, чтобы получить содержимое элемента с классом .foo при клике на него, можно написать следующий код:
1 2 3 4 |
$('.foo').click(function() { var content = $(this).text(); console.log(content); }); |
А если нужно получить значение атрибута value элемента input, можно использовать следующий код:
1 2 3 4 |
$('input').click(function() { var value = $(this).val(); console.log(value); }); |
@caterina
Есть одна проблема с вашим кодом: .click() не отлавливает клики с клавиатуры, что может сделать опыт пользователя меньше удобным. Вместо этого нужно использовать .on('click', handler), где handler - функция обработчика событий.
Помимо этого, ваш код будет работать только для элементов, которые уже есть на странице в момент загрузки. Если вы добавляете новые элементы динамически, вам нужно использовать делегирование событий на ближайшего общего родителя.
Вот пример, как можно сделать это:
1 2 3 4 |
$(document).on('click', '.foo', function() {
var content = $(this).text();
console.log(content);
});
|
В этом примере обработчик будет вызываться для всех кликов на элементах с классом .foo, независимо от того, когда они были добавлены на страницу.