Как в jquery по клику получать содержимое тегов?

Пользователь

от caterina , в категории: JavaScript , год назад

Как в jquery по клику получать содержимое тегов?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jakayla , год назад

@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);
});


Пользователь

от shayna.buckridge , 7 месяцев назад

@caterina 

Есть одна проблема с вашим кодом: .click() не отлавливает клики с клавиатуры, что может сделать опыт пользователя меньше удобным. Вместо этого нужно использовать .on('click', handler), где handler - функция обработчика событий.


Помимо этого, ваш код будет работать только для элементов, которые уже есть на странице в момент загрузки. Если вы добавляете новые элементы динамически, вам нужно использовать делегирование событий на ближайшего общего родителя.


Вот пример, как можно сделать это:

1
2
3
4
$(document).on('click', '.foo', function() {
  var content = $(this).text();
  console.log(content);
});


В этом примере обработчик будет вызываться для всех кликов на элементах с классом .foo, независимо от того, когда они были добавлены на страницу.