Новые правила для 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 |
Цитата:
|
Цитата:
var testDiv = document.createElement("div");
testDiv.width = 9000;
alert(testDiv.width);
Что не так? |
Это не значит что у него измениться визуальное представление. Это если по спецификации.
|
Ну да, я и на писал:
Цитата:
|
Цитата:
|
offtop
Когда же появиться хоть кандидаты на спецификацию HTML5... Да и мануалов нормальных нет. |
потихоньку всё наберётся.. мануалов нет потому, что ещё никто толком не использовал(негде же).. так что выход читать спецификацию )
|
Когда был на Google Developer Day они толком ничего и не показали, плееры там, трансформация и всё. Одна вода в общем.
|
| Часовой пояс GMT +3, время: 20:59. |