Задать вопрос
@sergemin

Ошибка Uncaught TypeError: $target.find is not a function Почему не работают методы?

Друзья, около двух недель работаю с jQuery и такой вопрос возник. Есть список элементов. Если я обращаюсь напрямую к какому-либо элементу, то я могу применять к нему все методы, но если я вешаю обработчик на весь список (так называемое делегирование событий) или использую метод each(), то я получаю эту ошибку
Ошибка Uncaught TypeError: $target.find is not a function

Вот сам код

html
<ul id='myList'>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>


jQuery
$('#myList').bind('click', function(event) {
        var $target = event.target;
        if($target.tagName !== 'LI') return;
        
        var $currentPersonMenu = $target.find('.personMenu'); // тут ошибка! Не работает метод
        console.log($currentPersonMenu);
    })


то есть я не могу обратиться ни к дочерним элементам, ни использовать другие методы, такие, как find(), closest(), ect.

Заметил, что если обращаюсь к элементу напрямую, то если его вывести в консоль, получаю элемент в виде объекта, а если через делегирование, то просто в виде тега выдает консоль его
  • Вопрос задан
  • 775 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект