我遇到了一个我无法弄清楚的问题。我试图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)
调用它时,它将其搞砸了。
显然是问题,但我不知道为什么或如何解决它。那里有社区的建议吗?
答案 0 :(得分:0)
fadeOut
的{{1}}兄弟姐妹在.error
,而不是$(field)
本身就被调用了$(field)
。
这是你试图做的吗? (即:删除$(字段))?
field.siblings('.error').fadeOut(200, function() {
field.remove();
});