Ответ 1
Использовать текстовую функцию jQuery:
$(event.target).text()
Попытка получить текст целевого элемента события из неупорядоченного списка
<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". Я знаю, что я сделал это раньше - это должно быть поздно... спасибо за любую помощь:)
Использовать текстовую функцию jQuery:
$(event.target).text()
Вы запутываете сырые JS и jQuery.
В jQuery вы используете $(event.target).text()
Однако он намного эффективнее в JavaScript: event.target.firstChild.nodeValue
EDIT: здесь JSPerf как доказательство.
Причиной event.target.text
является undefined, потому что у HTMLElement нет указанного метода или свойства. Однако у jQuery есть text()
, который вы ищете. Чтобы получить доступ к jQuery-методам или свойствам, вам необходимо обернуть текущий элемент HTMLE в объекте jquery. Это делается путем передачи его в jQuery, который затем создает с ним объект функции и прототип jQuery, который предоставляет API.
jQuery(element);//in general
$(event.target).text();//for your situation
event.target.textContent
Это тоже доступ к javascript. Я рекомендую вам запустить javascript-консоль "Chrome" (или Firefox) с помощью Ctrl+Shift+J
. Напишите в своем коде: console.log(event)
и посмотрите на консоли. Вы можете смотреть каждый атрибут объекта.