Коллекция -- это структура, похожая на массив. Элементы коллекции являются объектами и доступны как элементы массива по индексу. Индексация традиционно начинается с нуля. В качестве индекса можно использовать имя объекта, если оно задано в соответствующем теге при помощи атрибута name (или id).
Например, доступ к объекту, построенному браузером для тега <IMG name=pic...> может быть получен при помощи конструкции document.images[0], если это первая картинка в HTML-файле или при помощи конструкции document.images["pic"] независимо от порядкового номера картинки. Последний способ, конечно удобнее. Приведенный пример иллюстрирует использовании коллекции images -- в ней собраны объекты, построенные браузером для всех картинок, задаваемых в документе тегами IMG.
У каждой коллекции (как единого целого) существует свойство length -- ее длина. Например, доступ с свойству srcобъекта, построенного для первого тега IMG можно задать при помощи конструкции document.images[0].src. Для последнего тега IMG -- document.images[document.images.length-1].src.
коллекция |
описание |
all |
Коллекция всех тегов в теле документа. При помощи следующих скрипта и формы, можно менять экранное изображение: <SCRIPT language=JavaScript> <!-- var img = new Array (new Image(), new Image()); img[0].src="./pic/isp1a0.gif"; img[1].src="./pic/isp2a0.gif"; var ind=1; function ChangeImg() { document.all["pic0"].src=img[ind].src; ind=1-ind; } //--> </SCRIPT> <FORM> <INPUT type=button value=Изменить onclick="ChangeImg()"> </FORM> |
forms |
Коллекция всех форм на странице. Эта коллекция сама содержит коллекцию elements -- список элементов данной формы (теги INPUT, SELECT, TEXTAREA). Для доступа к форме с именем forma используется конструкция document.forms["forma"]. Для доступа к элементу формы с именем element -- конструкция document.forms["forma"].elements["element"].
При помощи следующих скрипта и формы, можно менять содержимое поля:
<SCRIPT language=JavaScript> <!-- var titl = new Array( "Приключение Незнайки и его друзей", "Незнайка в солнечном городе", "Незнайка на Луне"); var ind=0; function ChangeTitl() { document.forms["f"].elements["t"].value= titl[ind]; ind = ind < 2 ? ++ind : 0; } //--> </SCRIPT> <FORM> <INPUT type=button value=Изменить onclick="ChangeTitl()"> </FORM> |
images |
Коллекция всех картинок на странице. При помощи следующих скрипта и формы, можно менять экранное изображение: <SCRIPT language=JavaScript> <!-- var img = new Array (new Image(), new Image()); img[0].src="./pic/isp1a0.gif"; img[1].src="./pic/isp2a0.gif"; var ind=1; function ChangeImg() { document.images["pic1"].src=img[ind].src; ind=1-ind; } //--> </SCRIPT> <FORM> <INPUT type=button value=Изменить onclick="ChangeImg()"> </FORM> |
links |
Коллекция всех ссылок на странице. Список всех ссылок на этой странице можно получить при помощи кода: <SCRIPT language=JavaScript> <!-- function LinksList() { var str = "Список ссылок этой страницы:\n "; for(var i=0; i<document.links.length; i++) str +=document.links[i].href+"\n"; alert(str); } //--> </SCRIPT> <FORM> <INPUT type=button value="Ссылки" onclick="LinksList()"> </FORM> |