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

后端 未结 6 1727
北恋
北恋 2020-12-23 20:06

I know jQuery has a helper method for parsing unit strings into numbers. What is the jQuery method to do this?

var a = \"20px\";
var b = 20;
var c = $.parseM         


        
相关标签:
6条回答
  • 2020-12-23 20:31

    Sorry for the digging up, but:

    var bar = "16px";
    
    var foo = parseInt(bar, 10); // Doesn't work! Output is always 16px
    // and
    var foo = Number(s.replace(/px$/, '')); // No more!
    
    0 讨论(0)
  • 2020-12-23 20:33
     var c = parseInt(a,10);
    
    0 讨论(0)
  • 2020-12-23 20:40
    $(document).ready(function(){<br>
        $("#btnW1").click(function(){<br>
            $("#d1").animate({<br>
                width: "+=" + x,
    
            });
        });
    

    When trying to identify the variable x with a pixel value I by using jquery I put the += in quotes. Instead of having width: '+= x', which doesn't work because it thinks that x is a string rather than a number. Hopefully this helps.

    0 讨论(0)
  • 2020-12-23 20:42

    No jQuery required for this, Plain Ol' JS (tm) will do ya,

    parseInt(a, 10);
    
    0 讨论(0)
  • 2020-12-23 20:49
    $.parseMethod = function (s)
    {
        return Number(s.replace(/px$/, ''));
    };
    

    although how is this related to jQuery, I don't know

    0 讨论(0)
  • 2020-12-23 20:52

    More generally, parseFloat will process floating-point numbers correctly, whereas parseInt may silently lose significant digits:

    parseFloat('20.954544px')
    > 20.954544
    parseInt('20.954544px')
    > 20
    
    0 讨论(0)
提交回复
热议问题