通过javascript定位元素

时间:2013-09-13 21:11:38

标签: javascript

我正在尝试按百分比定位一个元素,但它对我来说没有用,只有当我使用像素时它才有效。

这是我的代码:

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = 10%
x.style.top = 10%

如果我分配给x.style.left任何数字,后面没有任何数据,那么它可以正常工作,但是如果我在数字之后加上百分比,就像它在上面的代码中显示的那样,它就不起作用了。关于如何使用百分比来定位此元素的任何想法?

3 个答案:

答案 0 :(得分:9)

这些值应该是字符串:

x.style.left = '10%';
x.style.top = '10%';

否则,%符号将被解释为remainder operator,从而导致意外结果或语法错误(取决于您使用分号)。

答案 1 :(得分:2)

您必须将其指定为字符串。你的语法是无效的,因为10%在JavaScript中意味着什么,所以它实际上解析了x.style.left = 10%x.style.top = 10%,因为JS忽略了空格。

像bfavaretto所说,你需要将值分配为字符串:

x.style.left = '10%';
x.style.top = '10%';

并确保添加分号。 :)

答案 2 :(得分:1)

%是CSS语法,而不是javascript语法,你需要将它包装在引号中:

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = "10%";
x.style.top = "10%";