未捕获的TypeError:无法读取属性' removeClass'未定义的

时间:2014-10-05 23:06:25

标签: jquery undefined typeerror removeclass

我的jquery代码有问题我觉得解决方案非常简单但是我无法得到它,它很简单。在一个带有类的元素上单击函数但是当我点击元素时它会给我这个错误" Uncaught TypeError:无法读取属性' removeClass'未定义"有谁知道我在这里做错了什么?

$("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 个答案:

答案 0 :(得分:2)

ethe Event object,它没有名为trigger的属性。由于trigger不存在,您无法在其上调用函数。

尝试在这做什么?:

e.trigger.removeClass("fa-caret-right");

如果要从调用处理程序的元素(被单击的元素)中删除该类,可以使用this引用该元素:

$(this).removeClass("fa-caret-right");

或者,如果您想使用Event对象,您可能正在寻找the target property

e.target.removeClass("fa-caret-right");