JavaScript - 如何将 `elem.style.left` 转换为整数?

3

我需要进行比较:

if (x < siteA.style.left || x > siteA.style.left + land.width() ) {

然而,siteA.style.left返回20px(例如),因此条件不起作用。我该如何删除px并将其转换为整数以便处理?
我尝试了alert(parseInt(siteA.style.left)),但它返回NaN,然而alert(siteA.style.left)返回30px,60px等。
4个回答

3
使用 parseInt 函数:
var leftPos = parseInt(siteA.style.left, 10);

其中 10 代表基底,最好始终指定它。


我忘了说,我尝试过 alert(parseInt(siteA.style.left)) 但它返回了 NaN。 - lisovaccaro
@Liso22: 尝试像我在答案中所做的那样添加10的基数,例如 alert(parseInt(siteA.style.left, 10)) - Sarfraz

2

我忘了说,我尝试过 alert(parseInt(siteA.style.left)),但它返回 NaN。 - lisovaccaro
1
在这种情况下,siteA.style.left 可能未定义。 - stewe
刚刚在Firebug控制台中尝试了parseInt('20px'),结果符合预期。您的对象可能未被定义。 - RocketR

0

你试过这个吗?

var left = parseInt(siteA.style.left.replace('px', ''), 10)

0
当使用jQuery时,你可以使用$('#siteA').offset().left来获取整数值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接