MW211 EXIT

devlog
JavaScript/px表記の数値化
2014年02月07日
jQueryなどでCSSの値において「■px」と、
「px」単位が付加されて取得されるものがある。

これを数値化するには、以下のように文字列置換してさらに数値変換する方法がある。
┌──────────────────────────────────────┐
│Number($(this).css('top').replace(/px/, ''))                                │
└──────────────────────────────────────┘

もっと簡単な方法(しかもメジャーな方法)として「parseInt()」を使う方法がある。
┌──────────────────────────────────────┐
│parseInt($(this).css('top'))                                                │
└──────────────────────────────────────┘
「parseInt()」は数値じゃない項目の手前までを数値として取り込む関数である。

但し、数値にできるものが一つもなかった場合には「NaN」を返す性質がある。
┌──────────────────────────────────────┐
│parseInt('')                                                           →NaN│
└──────────────────────────────────────┘

よって、以下のような感じで関数化してしまうのが安全化も。
┌──────────────────────────────────────┐
│pxNumber($(this).css('top'))                                                │
├──────────────────────────────────────┤
│function pxNumber(str) {                                                    │
│    return isNaN(parseInt(str)) ? 0 : parseInt(str);                        │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript