2013-10-16 11 views
2

我有一些獲取按鈕寬度的代碼,但它總是返回帶有「px」按鈕的按鈕寬度。有沒有簡單的方法(沒有創建一個函數,刪除最後兩個字符)獲得沒有「px」部分的寬度,但仍然以像素爲單位?獲取沒有「px」的按鈕Javascript的寬度

jsfiddle example

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

在此先感謝

回答

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

始終通過第第二個參數是'parseInt'。 –

+0

好點它默認爲10,但你是正確的,包括它的最佳實踐,所以我更新了我的答案。 –

+0

你錯位了圓括號,我不能編輯,因爲它少於6個字符>< – Plato

-3

你可以使用jQuery的width()功能來實現這一目標。

3

小提琴使用parseInt()

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

Fiddle Example

+1

這是正確的。你應該總是傳遞基數,特別是如果你想要正確地梳理。 – spacebean

2

正確代碼:

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

您可以在最後夾頭更換?請注意,如果您的寬度是em,rem或百分比等等......這會給您CSS聲明的大小,例如: 12 12em而不是實際大小,你需要使用這樣的事情,否則:

this.offsetWidth 
0

如果寬度沒有明確說明,那麼唯一的選擇就是使用:

id_of_btn.offsetWidth 

根據w3school,offsetWidth:「返回一個元件的寬度,其中包括填充,邊框和滾動條」

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