Новые правила для width
Уже какой раз замечаю в новых браузерах. Не выходит такое
<script> function divWidth() { alert(testDiv.width); } </script> <button onclick="divWidth()">Нажать</button> <div id='testDiv' width='20px'> </div> Хотя раньше это работало. В тоже время <script> function divWidth() { alert(testDiv.style.width); } </script> <button onclick="divWidth()">Нажать</button> <div id='testDiv' style="width:20;"> </div> У меня в браузере в первом случае выводит undefined, во втором 20px |
<script> function divWidth() { alert(testDiv.clientWidth + '\n' + testDiv.getAttribute('width')); } </script> <button onclick="divWidth()">Нажать</button> <div id='testDiv' width='20px'> </div>Не надо путать атрибуты и свойства. |
Нет свойства width, есть offsetWidth.
|
Вот это да, а разве clientWidth должен работать в этом случае?
И дело ж ведь в том что надо вывести именно то значение которое указано в width т.е. в данном случае 20. А у меня в вашем случае выводит 870 |
свойство width есть я его активно использую в canvas он там что интересно только в таком варианте и работает
<canvas height=200 width=200 ></canvas> А если ему задать через стиль то нарисованное изображение будет удлиняться то ли по ширине то ли по высоте на 1.5 раза. |
Цитата:
|
У div, как видите, нет.
|
А что такого это свойство должно быть у всех, тем более я раньше так делал для всех вроде.
|
Цитата:
У всех элементов должны быть только несколько свойств: id, className, style, title. Остальные зависят от тега. |
Не путай свойства и атрибуты.
testDiv.width // свойство объекта - любое значение testDiv.getAttribute("width") // атрибут DOM-элемента - всегда строка В HTML не все элементы имеют атрибут width (это не значит, что его нельзя задать самостоятельно), а для таких элементов, как Canvas браузер синхронизирует значения свойства и атрибута. В IE модель упрощена. http://xpoint.ru/know-how/JavaScript/Atributyi Ну и есть еще способ достать значение атрибута: testDiv.attributes.width.value |
Часовой пояс GMT +3, время: 23:41. |