jQuery/Javascript - Hur konverterar jag ett pixelvärde (20px) till ett numeriskt värde (20)


Jag vet att jQuery har en hjälpmetod för att tolka enhetssträngar till tal. Vad är jQuery-metoden för att göra detta?

var a = "20px";
var b = 20;
var c = $.parseMethod(a) + b;

Svar #1

Ingen jQuery krävs för detta, vanlig gammal JS (tm) räcker åt dig,

parseInt(a, 10);

Svar #2

Mer generellt kommer parseFloat att hantera flyttal korrekt, medan parseInt kan tyst förlora betydande siffror:

parseFloat('20.954544px')
> 20.954544
parseInt('20.954544px')
> 20

Svar #3

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

även om hur detta är relaterat till jQuery, vet jag inte

Relaterade artiklar