0

我有一个我无法弄清楚的问题。我正在尝试淡出一个 div,然后将其删除,除了我不断收到上面的错误消息外,一切正常。这是功能:

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

你会认为非常直接。当我 console.log 时field,我得到了正确的元素,当我$(this)在该函数中使用 console.log 时,我也得到了正确的元素。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),它搞砸了。

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

4

1 回答 1

0

看起来您fadeOut正在调用 的.error兄弟姐妹$(field),而不是调用$(field)自身。

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

field.siblings('.error').fadeOut(200, function() {
    field.remove();
});
于 2013-06-18T15:10:17.433 回答