2015-06-11 16 views
0

我知道這是一個重複的,但我不能從其他答案得到它的權利! 真的希望你能幫助!Javascript - 簡單地獲取元素的高度

我只想獲得元素的寬度,然後將其分配給相同元素的高度。

但我似乎無法得到通過的寬度... 我真的不知道爲什麼 - 只是得到和「未定義」。

閱讀有關js在元素添加到DOM之前詢問寬度的內容,但無論我在哪裏放置「onload」,og放置js腳本,它似乎沒有任何區別,我仍然可以將靜態高度添加到相同的元素,但不能獲得寬度!謝謝!

var width_ele = document.getElementsByClassName("image"); 
var width = width_ele[0].style.offsetWidth; 

alert(width); 

var ele = document.getElementsByClassName("image"); 
for (var i = 0; i < ele.length; i++) { 
ele[i].style.height = 100 + "px"; // here I wanted the "100" to be the variable "width"... 
} 

http://jsfiddle.net/qL0hj4jc/10/

+1

請分享您的代碼。 – nikhil

回答

2

我已經更新了你的代碼。

您需要使用

var width = width_ele[0].offsetWidth; 

這裏是更新的小提琴 - http://jsfiddle.net/qL0hj4jc/4/

您應該使用.offsetWidth和.offsetHeight性能。注意它們屬於元素,而不是.style。

+0

Ahh offsetWidth首先沒有「style」!謝謝!!! :D – Ziltoid

+0

偉大的它爲你工作:)你可以標記答案爲選擇供將來參考 – nikhil

4
var width = width_ele[0].offsetHeight; // did you mean offsetWidth? 

offsetHeight/offsetWidthelement itself的屬性,而不是它的風格表。