Установите ширину или высоту элемента в режиме стандартов

Можно ли задать ширину или высоту HTML-элемента (например, <div>) в JavaScript в режиме стандартов?

Обратите внимание на следующий код:

<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. В стандартном режиме я не могу изменить размер элемента таким образом

Можно ли манипулировать размером элемента в стандартном режиме? Как обойти эту дисфункциональность?

Ответ 1

Попробуйте объявить единицу ширины:

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

Ответ 2

Свойство style позволяет указать значения свойств CSS.

Свойство CSS width принимает длину как значение.

Длина требует единиц. В режиме quirks браузеры, как правило, предполагают пиксели, если они снабжены целым числом, а не длиной. Укажите единицы измерения.

e1.style.width = "400px";