为什么我的直觉宣言不起作用?

时间:2013-09-30 22:29:27

标签: javascript

var get = document.getElementById("t3");
get.style.visibility="visible";

var get = document.getElementById("answerbutton");
get.style="visibility:hidden";

var get = document.getElementById("spacer");
get.style="margin-top:160px";

var get = document.getElementById("spacer");
get.style.margin-top="160px";

我对JavaScript很陌生,所以请原谅我的天真。前三个声明有效但如果我使用第四个声明(就像我原来的那样)它没有。所以,虽然我现在知道如何通过点击按钮获得更改边距顶部,但有人可以告诉我第四个问题是什么问题。

谢谢

2 个答案:

答案 0 :(得分:4)

get.style.margin-top是一个算术表达式,不能作为赋值的左侧。这就像说(x - y) = z可能在Prolog中有效但在JavaScript中无效,并且不是你想要做的事情。

尝试

get.style.marginTop = ...

而不是How do I set the margin of an object with javascript?

答案 1 :(得分:3)

您不能在标识符中使用连字符(因为它成为减法运算符)。

使用点符号时的属性名称是标识符。

JavaScript属性和CSS属性的映射是使用camelCase而不是连字符。

所以:marginTop不是margin-top