2012-09-24 60 views
1

出於某種原因,當我嘗試使用jquery更改div的高度時,它不起作用。我使用的代碼是這樣的:用jquery更改div的高度

<div id="wrapdiv" style="height:2000px"> 
    .... 
</div> 

console.log(total); // yields 1500 
changediv = "wrapdiv"; 
$("#" + changediv).css('height', total); 

無論我做什麼,它都不會將高度更改爲1500px。 console.log顯示變量設置正確。即使我在Chrome的控制檯中輸入賦值語句,它也會改變高度。如果重要的話,div裏面有一個iframe。有任何想法嗎?

+0

你的代碼看起來很好..可能是'#wrapdiv'高度正確設置,但內容溢出..嘗試'溢出:自動或'溢出:隱藏' –

+0

我同意維加。你的代碼看起來很好。這裏的示例http://jsfiddle.net/gbsandeep/dscxC/ –

+0

這沒有奏效,但我認爲你是在正確的軌道上。這不是jQuery,它必須與iframe或css風格有關 –

回答

1
var total = 1500; 
var changediv = "wrapdiv"; 

$("#" + changediv).height(total); 
alert($("#" + changediv).height()); 
2

你不能簡單地把一個數值僅適用於高度。你必須這樣做:

<div id="wrapdiv" style="height:2000px"> 
    .... 
</div> 

console.log(total); // yields 1500 
changediv = "wrapdiv"; 
$("#" + changediv).css('height', total + 'px'); 

或者,你可以這樣做:

<div id="wrapdiv" style="height:2000px"> 
    .... 
</div> 

console.log(total); // yields 1500 
changediv = "wrapdiv"; 
$("#" + changediv).height(total); 

JSFiddle link 1

JSFiddle link 2