在JavaScript中更新数据后,我的DOM对象将不会更新

在JavaScript中更新数据后,我的DOM对象将不会更新,javascript,dom,methods,Javascript,Dom,Methods,我有一个用构造函数创建的正方形,我的所有数据都会更新,包括它的.style.top和.style.left,但它不会在页面(图片)上更新。这是我的代码,我省略了构造函数本身,因为它可能不是问题所在。我已经包含了构造函数的方法和方法的调用,它不会更新图片 KeyBlock.prototype.move = function(event) { if(event.keyCode == 37) this.x -= 10; if(event.keyCode == 38) thi

我有一个用构造函数创建的正方形,我的所有数据都会更新,包括它的.style.top和.style.left,但它不会在页面(图片)上更新。这是我的代码,我省略了构造函数本身,因为它可能不是问题所在。我已经包含了构造函数的方法和方法的调用,它不会更新图片

  KeyBlock.prototype.move = function(event) {
  if(event.keyCode == 37)
    this.x -= 10;
  if(event.keyCode == 38)
    this.y -= 10;
  if(event.keyCode == 39)
    this.x += 10;
  if(event.keyCode == 40)
    this.y += 10;
  if (this.y < 0)
    this.y = 0;
  if (this.x < 0)
    this.x = 0;
  this.character.style.left = String(this.x) + "px";
  this.character.style.top = String(this.y) + "px";
  console.log(this.character.style.left);
}

me = new KeyBlock("me");
addEventListener("keyup", KeyBlock.prototype.move.bind(me));
KeyBlock.prototype.move=函数(事件){
如果(event.keyCode==37)
这个.x-=10;
如果(event.keyCode==38)
这个.y-=10;
如果(event.keyCode==39)
这个.x+=10;
如果(event.keyCode==40)
这个.y+=10;
如果(此.y<0)
这个。y=0;
如果(此.x<0)
这个.x=0;
this.character.style.left=字符串(this.x)+“px”;
this.character.style.top=字符串(this.y)+“px”;
log(this.character.style.left);
}
me=新的键块(“me”);
addEventListener(“keyup”,KeyBlock.prototype.move.bind(me));
如果您想查看构造函数,可以在这个问题上找到它,但回答这个问题可能不需要它:


提前感谢:)

在这个问题中显示的代码中,或者在链接的构造函数中,都没有为角色指定一个
位置
样式值。要使
style.left
style.top
执行任何操作,必须将
style.position
值设置为默认值以外的值
static


仅供参考,在向字符串添加数字时,不需要手动将内容转换为字符串(数字将自动转换)。因此,与此相反:

this.character.style.left = String(this.x) + "px";
您可以这样做:

this.character.style.left = this.x + "px";

您的代码中的
this.character
是什么?@jfriend00,this.character是在原始构造函数中定义的,它是保存div对象的属性,您可以在我的问题中的链接中访问构造函数的代码。非常感谢,@jfriend00,我忘记了那个步骤