在没有"px"的情况下获取按钮Javascript的宽度

use*_*237 3 html javascript button width

我有一些代码可以获得按钮的宽度,但它总是返回按钮的宽度,末尾带有"px".是否有一种简单的方法(没有创建一个删除最后两个字符的函数)获得没有"px"部分的宽度,但仍以像素为单位?

jsfiddle的例子

<button name="test" id="mybutton" onclick="alert(this.style.width);" style="width:200px;">Click me</button>
Run Code Online (Sandbox Code Playgroud)

提前致谢

Dom*_*een 8

嘿,快速简单的答案是在数字上使用parseInt

<button name="test" id="mybutton" onclick="alert(parseInt(this.style.width,10));" style="width:200px;">Click me</button>
Run Code Online (Sandbox Code Playgroud)

请看这里的小提琴http://jsfiddle.net/XdADS/6/

  • 实际上它默认为"猜测".例如,`parseInt("0x10")`返回16,而`parseInt("0x10",10)`返回0.在某些浏览器中,以"0"开头的数字被认为是八进制,如`parseInt("010") )`将返回8. (3认同)

Mat*_*hes 5

你最后可以放弃替换?

<button name="test" id="mybutton" onclick="alert(this.style.width.replace('px', ''));" style="width:200px;">Click me</button>
Run Code Online (Sandbox Code Playgroud)

请记住,如果你有宽度的em,rem或百分比等...这将给你CSS声明大小,例如12为12em而不是实际大小,你需要使用这样的东西:

this.offsetWidth
Run Code Online (Sandbox Code Playgroud)