无法读取null问题的属性样式

时间:2015-05-11 13:58:47

标签: javascript properties null

我已经使这个函数产生了错误

  

无法读取null

的属性'style'

你能帮我弄清楚问题是什么吗?

function cade()
{
    var a = document.getElementById(this.id).style.top;
    a = a + 100;
    document.getElementById(this.id).style.top =  a+'px';
}
cade.call(document.getElementById("p"));

1 个答案:

答案 0 :(得分:0)

虽然您的功能正常工作,但该元素的样式会阻止您移动它。在这些行中添加position: absolute或其他内容将使其正确移动。

由于您已将元素作为this传递,因此您无需使用getElementById再次获取该元素。您拥有的参考已经完全有效,因此您可以简化代码,如:



function cade() {
  var a = this.style.top;
  a = a + 100;
  this.style.top = a + 'px';
}
cade.call(document.getElementById("p"));

div#p {
  position: absolute;
}

<div id="p">This is some text.</div>
&#13;
&#13;
&#13;