Это свойство обладает следующими особенностями.
- Свойство
length никак не связано с максимальным кол-вом элементов (можно добавить в пустой массив элемент с индексом 10 и это свойство примет значение 11).
- Свойство доступно для записи. Если назначить ему длину, меньшую чем индекс последнего элемента, то массив будет урезан. Если же указать бОльшее число, то массив, наоборот, будет расширен за счёт пустых элементов.
- Наблюдаются несоответствия в значениях этого свойства для IE и Gecko версий для массивов, содержащих завершающие пустые элементы.
Пример: Обход массива
var numbers = [1,2,3,4,5];
for (var i = 0; i < numbers.length; i++) {
alert(numbers[i])
}
Пример: Укорачивание массива
var numbers = [1,2,3,4,5];
numbers.length=3
// numbers теперь [1,2,3]
Пример: Добавление в конец массива
var numbers = [1,2];
numbers[numbers.length]=3
// numbers теперь [1,2,3]
как определиться длинна многомерного массива ?
Может не в тему, хотя очень близко к ней... Возник вопрос, можно ли из времени вытащить вторую цифру без первой. Понимаю, вопрос может показать не понятным, потому привожу пример:
d=new Date()
h=d.getHours()
m=d.getMinutes()
s=d.getSeconds()
и я вывожу минуты:
document.write(m)
получаю, например:
45
как можно, если можно, вытащить 5?
Буду благодарен за отзывчивость
Берите остаток от деления на 10.
СпасибО! Все оказалось намного проще, чем я думал=)
такой вопрос:
прописываю:
x=document.getElementById(id_name)
document.write(x.length)
браузер выводит:
undefined
не могу понять в чем причина, подскажите пожалуйста
Кто Вам сказал, что метод getElementById возвращает массив?
.length работает и для строк (длина строки).
С другой стороны, getElementById возвращает объект, а не строку и не массив.
Имеется массив:
var tmad = new Array();
//Записываем значение:
tmad['sss'] = 'e';
tmad['ccc'] = 5;
// Выводим длину:
alert(tmad.length);
выводит нуль. Как вывести длину в этом случае?
PS. Сам понимаю что небылица какая-то...
попробуйте вместо sss и ссс использовать индексы и все получится. Ну или вместо Array: Object
Кстати Sobakin
getElementById() - возвращает действительно не массив.
но вот getElementById().innerHTML (кроссброузерно) возвращает массив
.innerHTML возвращает строку.
а строка это массив символов
<html> <head> <script> function show() { document.getElementById("txt").style.display="block" } </script> </head> <body> <div id="send" style="display:none"> <a href="" onmouseover="show()">Show</a> <div id="txt" style="display: none">Here you are!!!</div> </div> <script> document.write(document.getElementById("send").innerHTML) </script> </body> </html>почему не срабатывает show()?)
запихните скрипт вывода из конца вашего кода, в функцию show...
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.