使用parseInt获取div元素属性始终返回NAN

时间:2011-08-13 18:38:43

标签: javascript html css

我说答案很简单,但我发誓我浪费了几个小时。

我正在尝试使用常规ol'javascript更改div元素的位置。首先,我需要元素的初始top和left属性值作为整数。我正在尝试使用parseInt(element.style.top,10)

我遇到的问题是初始(默认)element.style.top和left值总是返回NaN。如果我在尝试解析值之前指定了top和left值,那么它可以正常工作......我希望能够处理尚未指定值的情况......

请帮忙

3 个答案:

答案 0 :(得分:3)

该值可能是“NaN”,因为CSS属性值为“auto”。这在IE中发生了很多。

答案 1 :(得分:1)

element.offsetTopelement.offsetLeft返回整数(不需要解析),你试过吗? element.style.top可以包含许多内容,例如auto3em20%。如果auto parseInt返回NaN,则在其他情况下,它可能会返回一个数字,但不会返回您需要的数字。

答案 2 :(得分:0)

您正在查询样式属性(由例如CSS设置)。但是,您需要元素的实际位置。看看here如何使用Javascript进行操作。