Uncaught TypeError: Невозможно прочитать свойство 'removeClass' из неопределенного
У меня есть проблема с моим кодом jquery, я чувствую, что решение довольно простое, но я просто не могу его получить, это простая функция.on click для элемента с классом, но когда я нажимаю на элемент, это дает мне это ошибка "Uncaught TypeError: Не удается прочитать свойство 'removeClass' из undefined" кто-нибудь знает, что я делаю здесь неправильно?
$("body").on( "click", ".fa-caret-right", function(e) {
e.trigger.removeClass("fa-caret-right"); // <--- right here
e.trigger.addClass("fa-caret-down");
e.trigger.parent().next().css("display", "block");
});
$("body").on( "click", ".fa-caret-down", function(e) {
e.trigger.removeClass("fa-caret-down"); // <--- and probably here
e.trigger.addClass("fa-caret-right");
e.trigger.parent().next().css("display", "none");
});
заранее спасибо!
1 ответ
e
это Event
объект, который не имеет свойства с именем trigger
, поскольку trigger
не существует, вы не можете вызывать функции на нем.
Что ты здесь пытаешься сделать?
e.trigger.removeClass("fa-caret-right");
Если вы хотите удалить класс из элемента, который вызвал обработчик (элемент, по которому щелкнули), вы можете ссылаться на этот элемент с помощью this
:
$(this).removeClass("fa-caret-right");
Или, если вы хотите использовать Event
объект, вы можете искать target
свойство:
e.target.removeClass("fa-caret-right");