jQuery / Javascript - How do I convert a pixel value (20px) to a number value (20)

我知道 jQuery 有一个帮助器方法,可以将单位字符串解析为数字。用什么 jQuery 方法来做这件事?

var a = "20px";
var b = 20;
var c = $.parseMethod(a) + b;
105938 次浏览
 var c = parseInt(a,10);

不需要 jQuery,普通的 Ol’JS (tm)就可以了,

parseInt(a, 10);
$.parseMethod = function (s)
{
return Number(s.replace(/px$/, ''));
};

虽然这和 jQuery 有什么关系,我不知道

更一般地说,parseFloat会正确处理浮点数,而 parseInt可能会悄无声息地丢失有效数字:

parseFloat('20.954544px')
> 20.954544
parseInt('20.954544px')
> 20
$(document).ready(function(){<br>
$("#btnW1").click(function(){<br>
$("#d1").animate({<br>
width: "+=" + x,


});
});

在使用 jquery 标识像素值的变量 x 时,我将 + = 放在引号中。而不是有宽度:’+ = x’,这不起作用,因为它认为 x 是一个字符串,而不是一个数字。希望这能帮上忙。

很抱歉我们要挖掘,但是:

var bar = "16px";


var foo = parseInt(bar, 10); // Doesn't work! Output is always 16px
// and
var foo = Number(s.replace(/px$/, '')); // No more!