Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
8 Мб
Скачать

Удаление и замена узлов в документе

Метод replaceChild() позволяет у узла, который его активизирует, за­менить одного из его деток на нового. Ссылку на новый и на заменяемый узлы метод принимает в качестве первого и второго параметров, соот­ветственно. Так, следующий фрагмент сценария

var oItem = document.createElement("LI")

oItem.appendChild(document.createTextNode("JScript"))

oList.replaceChild(oItem, oList.lastChild)

создает сначала элемент списка с текстом "JScript", а затем заменяет им последний элемент нашего списка. Метод возвращает ссылку на вставленный в документ узел.

Теперь наш список выглядит так:

<UL ID="components">

<LI>HTML</LI>

<LI>CSS</LI>

<LI>JScript</LI>

</UL>

Конечно, описанный выше пример надо рассматривать только как иллюстративный, поскольку тот же результат можно получить гораздо проще:

oList.lastChild.firstChild.nodeValue= "JScript"

Удаление: методы removeChild() и removeNode()

Метод removeChild() позволяет у узла удалить одного из его потом­ков. Ссылку на удаляемый узел метод принимает в качестве параметра. Например, строка кода

var oRemovedItem = oList.removeChild(oList.lastChild)

удаляет из списка последний элемент. Метод возвращает ссылку на удаляемый им узел. Поскольку удаленный из документа узел остается в памяти, мы можем в дальнейшем работать с ним, используя эту ссылку. Еще один метод заменяет узел oldChild на newChild.

currentNode.replaceChild(newChild, oldChild)

Если мы хотим удалить некоторый узел из документа, то надо вос­пользоваться методом removeNode(). Если значение параметра равно false, то удаляется только тот узел, который активизировал метод. При этом идущая от него ветвь дерева присоединяется к его родительскому узлу. Если параметр метода равен true, то узел удаляется вместе со своими потомками. Например, строка кода удаляет из документа весь список.

var oRemovedList = oList.removeNode(true)

Метод removeNode() возвращает ссылку на удаляемый узел. По­скольку удаленный из документа узел остается в памяти, мы можем в дальнейшем работать с ним.

Объект window

Объект window является контейнером других объектов JavaScript. Окно создается при запуске браузера или в коде JavaScript:

var winobj=window.open([параметры]);

Свойства объекта window.

Closed= true, если текущее окно закрыто; свойства defaultStatus, status – сообщение отображается в строке состояния окна; history – возвращает ссылку на объект истории браузера; innerHeight/innerWidth – возвращает высоту/ширину клиентской области окна; name – возвращает имя окна или фрейма; opener – возвращает ссылку на окно, которое открыло текущее окно, методом open; outerHeight/outerWidth – возвращает полную высоту / ширину окна в пикселах; pageXOffset/pageYOffset – расстояние по горизонтали/ по вертикали между позицией окна и левой границей документа

Свойства окна, передаваемые методу open()

alwaysLowered=yes|no. Если yes, то создаваемое окно будет всегда находиться под другими окнами.

alwaysRaised=yes|no. Если yes, то создаваемое окно будет всегда находиться над другими окнами фокуса.

dependent=yes|no. Если yes, то создаваемое окно будет дочерним по отношению к создавшему, т.е. при закрытии создающего окна будет закрываться и создаваемое.

fullscreen=yes|no. Если yes, то создаваемое окно займет весь экран (так называемый "режим киоска").

innerHeight={Высота}/innerWidth={Ширина}. Задает высоту/ширину клиентской области создаваемого окна в пикселах.

left={X}. Задает горизонтальную координату левого верхнего угла создаваемого окна.

location=yes|no. Включает или отключает отображение панели адреса, включающего строку ввода адреса, у создаваемого окна.

menubar=yes|no. Включает или отключает отображение строки меню.

outerHeight={Высота}. Задает полную (с рамками, строкой меню, полосами инструментов) высоту создаваемого окна в пикселах.

outerWidth={Ширина}. Задает полную ширину создаваемого окна в пикселах.

replace=yes|no. Если yes, то адрес документа, размещаемого в создаваемом окне, заменит в списке истории адрес документа, находящегося в создающем окне.

resizable=yes|no. Включает или отключает возможность изменения размера создаваемого окна.

screenX={X}/screenY={Y}. То же, что и left/ top

scrollbars=yes|no. Включает отображение полос прокрутки у создаваемого окна.

titlebar=yes|no. Включает или отключает отображение заголовка у создаваемого окна.

toolbar=yes|no. Включает/отключает отображение панели инструментов у создаваемого окна.

Вместо значений yes и no можно использовать 1 и 0.