2012-09-05 35 views
0

我想返回某個元素的寬度或高度,而不用事先用CSS或HTML進行設置。這甚至有可能嗎?您是否需要在使用它們之前設置那些總是如何使用JavaScript找到未定義的CSS屬性的值?

+0

沒有,你可以得到有效renderd高度和寬度...我認爲性質不同的跨瀏覽器。它已經有一段時間,因爲我沒有jQuery做它。 – prodigitalson

+0

這是一個[困境](http://en.wikipedia.org/wiki/Dilemma)?這不是一個困境。 –

+0

去其他地方的巨魔。 – CDizzle

回答

1

使用的getComputedStyle()元素的方法。瀏覽器之間在這種方法的工作方式上有一些小的區別,但對於高度和寬度屬性它的工作原理是一樣的。

所以,一個例子是:

var el  = document.getElementById('el'), 
    height = el.getComputedStyle('height'), 
    width = el.getComputedStyle('width'); 

這裏有一個小提琴:http://jsfiddle.net/joplomacedo/7Qr83/

+0

太棒了!謝謝! – CDizzle

+0

所以,實際上似乎沒有工作。 – CDizzle

+1

怎麼回事?它如何失敗? – banzomaikaka

0

您可以使用jQuery來獲取任何元素的計算寬度和高度。

http://api.jquery.com/height/
http://api.jquery.com/width/

希望這有助於:)

+0

它絕對有幫助,但我正在尋找更多......非JQuery解決方案。並不是說我不會一直使用Jquery。我只想讓自己的物體也可以做到。 – CDizzle

+0

也許試試element.style.height?如果你沒有專門設置CSS的高度,我不確定這是否真的有效。 –