我有一些代码可以获得按钮的宽度,但它总是返回按钮的宽度,末尾带有“px”。是否有一种简单的方法(没有创建一个删除最后两个字符的函数)获得没有“px”部分的宽度,但仍然是像素?
<button name="test" id="mybutton" onclick="alert(this.style.width);" style="width:200px;">Click me</button>
提前致谢
答案 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)
答案 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:“返回元素的宽度,包括填充,边框和滚动条”
答案 5 :(得分:-3)
您可以使用jQuery的width()
函数来实现此目的。