我有一个问题,我不能弄清楚。我试图淡出一个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();
});