Подтвердить что ты не робот

Используйте jQuery для получения текста цели

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

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

с кодом, подобным этому

$('ul').click(function() {
theEl=(event.target.text);
});

При консолидации журнала

event.target

он возвращает

 <li>Item 1</li>

и

event.target.text

возвращает undefined

Я просто хочу "Пункт 1". Я знаю, что я сделал это раньше - это должно быть поздно... спасибо за любую помощь:)

4b9b3361

Ответ 1

Использовать текстовую функцию jQuery:

$(event.target).text()

Ответ 2

Вы запутываете сырые JS и jQuery.

В jQuery вы используете $(event.target).text()

Однако он намного эффективнее в JavaScript: event.target.firstChild.nodeValue

EDIT: здесь JSPerf как доказательство.

Ответ 3

Причиной event.target.text является undefined, потому что у HTMLElement нет указанного метода или свойства. Однако у jQuery есть text(), который вы ищете. Чтобы получить доступ к jQuery-методам или свойствам, вам необходимо обернуть текущий элемент HTMLE в объекте jquery. Это делается путем передачи его в jQuery, который затем создает с ним объект функции и прототип jQuery, который предоставляет API.

jQuery(element);//in general
$(event.target).text();//for your situation

Ответ 4

event.target.textContent

Это тоже доступ к javascript. Я рекомендую вам запустить javascript-консоль "Chrome" (или Firefox) с помощью Ctrl+Shift+J. Напишите в своем коде: console.log(event) и посмотрите на консоли. Вы можете смотреть каждый атрибут объекта.