我已经使这个函数产生了错误
无法读取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"));
答案 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;