未捕获的类型错误: 无法调用未定义的方法'toLowerCase'



我有一个问题,我不能弄清楚。我试图淡出一个div,然后删除它,一切都很好,除了我不断得到上面的错误信息。下面是函数:

$(field).siblings('.error').fadeOut(200, function(){
   $(this).remove(); 
});

你可能会认为这很简单。当我输入console。log field时,我得到了正确的元素当我输入console。log $(this)时,我也得到了正确的元素。div淡出正确,但出于某种原因,$(this).remove()只是杀死它。下面是两个元素:

field:

[input.user-name largeinput group-one, context: input.user-name largeinput group-one, jquery: "1.10.1", constructor: function, init: function, selector: ""…]

$(this):

[div.error, context: div.error, jquery: "1.10.1", constructor: function, init: function, selector: ""…]

我查看了对象本身,只是为了确保它是正确的div。那么为什么会抛出这个错误呢?当我直接从模糊中调用它时,我让它工作,但是当我将它移动到一个函数中并通过validateField(field)调用它时,它把它搞砸了。

显然这是问题,但我不知道为什么或如何解决它。社区有什么建议吗?

看起来你的fadeOut是在$(field).error兄弟姐妹上被调用的,而不是在$(field)上。

这是你想要做的吗?(即:删除$(field))?

field.siblings('.error').fadeOut(200, function() {
    field.remove();
});

最新更新