2013-01-09 18 views
1

我有一個jquery .css函數的問題。我正在使用它來獲取高度設置爲auto的元素的實際高度。我現在用的代碼是:問題jQuery的.css功能不穩定的行爲

$(this).css({ height: $(this).css("height"), width: $(this).css("width") }); 

的問題是,在.css功能有時會返回"0px"有時"auto",有時實際高度(這是所需的行爲)。任何人都可以告訴我我在這裏做錯了什麼?

回答

0

無法看到您的片段的目的,但使用jQuery,使用該代碼至少是跨瀏覽器:

$(this).css({ height: $(this).height(), width: $(this).width() }); 
2

$(this).css("height")爲您提供了一個定義(或默認)值,而$(this).height()給你實際的,「測量的」高度。

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

獲取所述第一元件中的電流計算出的高度中的一組 匹配元素或設置每個匹配的元件的高度。

而且從http://api.jquery.com/css/

獲取樣式屬性的值的第一個元素集合中的 匹配的元素,也可以爲每個匹配 元素的一個或多個CSS屬性。

1

$(this).css("height")將返回CSS height屬性的設定值。

要獲得元素的物理高度,請致電$(this).height()