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

时间:2013-10-16 12:24:49

标签: javascript html button width

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

jsfiddle example

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

提前致谢

6 个答案:

答案 0 :(得分:7)

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

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

请参阅此处的小提琴http://jsfiddle.net/XdADS/6/

答案 1 :(得分:5)

你最后可以放弃替换?

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

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

this.offsetWidth

答案 2 :(得分:3)

使用parseInt()

onclick="alert(parseInt(this.style.width,10));

Fiddle Example

答案 3 :(得分:2)

正确代码:

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

答案 4 :(得分:0)

如果未明确声明宽度,则唯一的选择是使用:

id_of_btn.offsetWidth

根据w3school,offsetWidth:“返回元素的宽度,包括填充,边框和滚动条”

来源:https://www.w3schools.com/jsreF/dom_obj_all.asp

答案 5 :(得分:-3)

您可以使用jQuery的width()函数来实现此目的。