未捕获的TypeError:无法调用未定义的方法'toLowerCase'

时间:2013-06-18 14:52:56

标签: jquery

我遇到了一个我无法弄清楚的问题。我试图fadeOut一个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)调用它时,它将其搞砸了。

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

1 个答案:

答案 0 :(得分:0)

fadeOut的{​​{1}}兄弟姐妹在.error,而不是$(field)本身就被调用了$(field)

这是你试图做的吗? (即:删除$(字段))?

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