2011-01-12 9 views
85

È possibile impostare la larghezza o l'altezza dell'elemento HTML (ad esempio <div>) in JavaScript nella modalità Standard?Impostare la larghezza o l'altezza degli elementi in modalità Standard

Nota il seguente codice:

<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> 

Quando l'utente preme il pulsante cambiamento larghezza, larghezza s' il <div> dovrebbe cambiare.

Funziona correttamente quando la dichiarazione doctype determina la modalità Quirks. In modalità Standard non riesco a modificare le dimensioni dell'elemento in questo modo

È possibile modificare le dimensioni di un elemento in Modalità standard? Come bypassare questa disfunzione?

risposta

131

Prova dichiarando l'unità di larghezza

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

Ahaha .. intendo "miagolio" (c). Ho passato circa un'ora, cercando di capire perché lo stile non viene applicato. Grazie! –

29

La proprietà style consente di specificare i valori per le proprietà CSS.

La proprietà CSS width prende una lunghezza come valore.

Le lunghezze richiedono unità. In modalità Quirks, i browser tendono ad assumere pixel se forniti con un numero intero anziché una lunghezza. Specificare le unità.

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

Grazie per la risposta, anche corretta. – rafalry