2011-01-12 8 views
85

標準モードでJavaScriptでHTMLエレメント(例:<div>)の幅または高さを設定することはできますか?標準モードでエレメントの幅または高さを設定する

注次のコード

<html> 
<script language="javascript" type="text/javascript"> 
    function changeWidth(){ 
     var e1 = document.getElementById("e1"); 
     e1.style.width = 400; 
    } 
</script> 
<body> 
    <input type="button" value="change width" onclick="changeWidth()"/> 
    <div id="e1" style="width:20px;height:20px; background-color:#096"></div> 
</body> 
</html> 

ユーザが変化幅ボタンを押す、<div>の幅が変化しなければなりません。

Doctype宣言がQuirksモードを決定するときにうまく動作します。標準モードでは、このように要素のサイズを変更できません。

標準モードで要素のサイズを操作することは可能ですか?この不具合を回避する方法は?

答えて

131

は、幅の単位を宣言してみてください。

e1.style.width = "400px"; // width in PIXELS 
+0

アハハ..私は "ヤング"(c)を意味します。私はスタイルが適用されない理由を理解しようと約1時間を費やしました。ありがとう! –

29

styleプロパティは、CSSプロパティの値を指定できます。

CSS プロパティは、その値として長さをとります。

長さは単位が必要です。 Quirksモードでは、ブラウザーは長さではなく整数で提供される場合、ピクセルを想定する傾向があります。単位を指定します。

e1.style.width = "400px"; 
+0

答えをありがとう、また正しい。 – rafalry

関連する問題