jquery throws对象在.animate上没有方法’replace’

使用
jquery 1.7.1

这是我正在尝试运行的简单函数:

$('#large-boxes').dblclick(function(e){
  var element = $(e.target);

  boxes.disappear(element);
});

boxes = {
    disappear: function(element){
    console.log(element);
    element.animate({
        height: 0,
        width: 0,
        top: 0,
        left: 0
    }, 100);
},
}

运行时在控制台中输出:

boxes.js:60

[
 <div id=​"4" class=​"ui-draggable">​</div>​
]

jquery.min.js:4

Uncaught TypeError: Object function () {
  var i;
  var newObj = (this instanceof Array) ? [] : {};
  for (i in this) {
    if (i == 'clone') continue;
    if (this[i] && typeof this[i] == "object") {
      newObj[i] = this[i].clone();
    } else newObj[i] = this[i]
  } return newObj;
} has no method 'replace'

起初我认为元素对象周围的括号可能表示一个数组,但它似乎只是jquery对象上的符号.

元素动画正常,如果我删除.animate函数并只使用.css设置所有值,我就不会收到错误.

有任何想法吗?

最佳答案 你可能需要添加$(元素).但是很难说你是如​​何实际调用这个函数的.

点赞