Javascript this.offset不是单击函数中的函数

Javascript this.offset不是单击函数中的函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,错误在于\此偏移量不是一个函数。我将此记录到控制台,并且是我单击的元素,所以我不明白为什么这不起作用 $('.item')。单击(函数(e){ var_this=这个; var topx=_this.offset().top; var leftx=_this.offset().left; var moveArea=$('#replace').offset().top; var moveLeft=$('#replace').offset().left; var moveUp=topx-移动区域-

错误在于
\此偏移量
不是一个函数。我将此记录到控制台,并且是我单击的
  • 元素,所以我不明白为什么这不起作用

    $('.item')。单击(函数(e){
    var_this=这个;
    var topx=_this.offset().top;
    var leftx=_this.offset().left;
    var moveArea=$('#replace').offset().top;
    var moveLeft=$('#replace').offset().left;
    var moveUp=topx-移动区域-50;
    _this.css('position','absolute').css('top',moveUp).css('zIndex',50).css('left',leftx);
    _这是动画({
    前50名,
    左:向左移动
    }, 300)
    });
    
    #更换{
    高度:50px;
    宽度:100px;
    背景颜色:绿色;
    }
    #名单{
    高度:200px;
    溢出y:滚动;
    }
    .项目{
    高度:50px;
    宽度:100px;
    背景颜色:蓝色;
    }
    
    替换这个
    
      试验 试验 试验
    事件处理程序中的this
    (因此也就是this
    )指的是一个doElement,它没有作为jQuery一部分的
    offset()
    方法。要解决此问题,可以使用
    $(this)
    创建jQuery对象:


    另请注意,在对同一方法的多个调用中,使用提供给单个
    css()
    调用的对象。

    替换这两行:

    var topx = _this.offset().top;
    var leftx = _this.offset().left;
    
    与:

    As
    .offset()
    是一个jquery函数,而
    \u这个
    是一个DOM元素



    同样,对于你的
    .css
    行,你必须再次将
    \u这个
    包装在
    $(…)
    中,因为
    \u这个
    是一个DOM元素,**不是jQuery对象。

    使用$(这个)而不是这个。你的答案是一个救星。谢谢,是的。这是一个很好的答案。
    var topx = _this.offset().top;
    var leftx = _this.offset().left;
    
    var topx = _this.offsetTop;
    var leftx = _this.offsetLeft;