Javascript TypeError:无效';在';类中的操作数a

Javascript TypeError:无效';在';类中的操作数a,javascript,jquery,Javascript,Jquery,我这里有一些JavaScript代码,它使用JQuery创建一个类,然后使用类函数 function sample(a, b) { var id = a; var img_src = b; this.getId = function() { return id; }; this.move = function(pTop, pLeft) { var p = $(this).position();


我这里有一些JavaScript代码,它使用JQuery创建一个类,然后使用类函数

function sample(a, b)
{
    var id = a;
    var img_src = b;

    this.getId = function()
    {
        return id;
    };

    this.move = function(pTop, pLeft)
    {
        var p = $(this).position();
        var mov_top = p.top + pTop;
        var mov_left = p.left + pLeft;
        $(this).animate({
            top: mov_top,
            left: mov_left
        });
    }
}
当我点击一个按钮时,我称之为:

<button onclick="create(3);">Click me :D</button>

<script>            
    function create(id)
    {
        var mySample = new sample(id, 'url');
        mySample.move(50, 50);
    }   
</script>
单击我:D
函数创建(id)
{
var mySample=新样本(id,'url');
mySample.move(50,50);
}   
这将返回错误类型error:invalid'in'操作数a,但我不知道它来自哪里


有人有主意吗?

试着将
这个
传递到
创建()
而不是
3
,它应该是
sample()
中的
a
,设置
按钮
css
位置
相对

函数示例(a、b)
{
var id=a;
var img_src=b;
this.getId=函数()
{
返回id;
};
this.move=函数(pTop,pLeft)
{
var p=$(a).position();
var mov_top=p.top+pTop;
var mov_left=p.left+pLeft;
$(a).制作动画({
顶部:mov_顶部,
左:左移
});
}
}
按钮{
位置:相对位置;
}

点击我:D
函数创建(id)
{
var mySample=新样本(id,'url');
mySample.move(50,50);
}   

你应该调用mySample.move right?什么是
monSprite
?可能的
monSprite
/
mySample
排版,在
move
中的
this
引用将引用
sample
函数,而不是DOM中的任何元素,因此我不确定你期望的
位置()
或任何其他要返回的jQuery方法。monSprite不再是了,这是mySample,没错,我只想在单击按钮时让按钮移动(出于测试目的),顺便说一下,如果move()中的this引用错误,那么getId()也应该是错误的,但getIt()正在工作。