Document Object Model

19
Лекция 3. Объект document

description

Document Object Model. Лекция 3. Объект document. Заголовок Шапка - PowerPoint PPT Presentation

Transcript of Document Object Model

Page 1: Document  Object  Model

Лекция 3. Объект document

Page 2: Document  Object  Model

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Заголовок</title> </head> <body> <div id="header">Шапка</div> <div id="menu"> <ul> <li> <a href="index.html">Главная</a></li> <li> <a href="page1.html">Страница1</a></li> </ul> </div> <div id=“footer">Автор</div> </body></html>

Page 3: Document  Object  Model
Page 4: Document  Object  Model

Свойства и методы для доступа к структуре

документа:•document.documentElement •document.body •document.getElementById('идентификатор')•document.getElementsByTagName('имя')•document.getElementsByName('имя')•document.getElementsByClassName('класс')

Пример.

var elems =

document.getElementsByTagName('div');

// elems[0] - div #header

// elems[1] - div #menu

// elems[2] - div #footer

Page 5: Document  Object  Model
Page 6: Document  Object  Model

Свойства, позволяющие перемещаться

по структуре документа:

•childNodes

•firstChild

•lastChild

•parentNode

•nextSibling

•previousSibling

Page 7: Document  Object  Model
Page 8: Document  Object  Model

Поле nodeType:

•Node.ELEMENT_NODE

•Node.TEXT_NODE

•Node.DOCUMENT_NODE

•Node.ATTRIBUTE_NODE

•Node.COMMENT_NODE

Page 9: Document  Object  Model

function nextTag(obj){ do obj = obj.nextSibling; while (obj && obj.nodeType != Node.ELEMENT_NODE); return obj;}

Page 10: Document  Object  Model

Свойства:•tagName•className•id•innerHTML•style Пример.

var elem = document.getElementById(‘menu’);

elem.style[‘backgroundColor’] = ‘red’;

elem.style[‘borderLeftRadius’] = ‘10px’;

Page 11: Document  Object  Model

var color = elem.currentStyle[‘color’];

getComputedStyle(объект[,“:псевдокласс”]);

var color = getComputedStyle(elem)[‘color’]; // rgb(0,0,0) или #000000

Page 12: Document  Object  Model

Манипуляции с параметрами

тегов:

obj.setAttribute(‘параметр’,

‘значение’)

obj.getAttribute(‘параметр’)

obj.hasAttribute(‘параметр’)

obj.removeAttribute(‘параметр’)

Page 13: Document  Object  Model

Манипуляции с узлами структуры

документа:

document.createElement(‘тег’);

родитель.appendChild(объект);

родитель.insertBefore(объект, DOM-

узел);

родитель.removeChild(объект);

родитель.replaceChild(старый объект, новый

объект);

старый объект.replaceNode(новый

объект);

Page 14: Document  Object  Model

Пример добавление ссылки в меню:

var newLink = document.createElement(‘a’);

newLink.innerHTML= “Перейти в Google”;

newLink.setAttribute(‘href’,

‘http://google.com.ua’);

newLink.style.color = ‘green’;

newLink.setAttribute(‘target’, ‘_blank’);

var newItem = document.createElement(‘li’);

newItem.appendChild(newLink);

var menu = document.getElementById(‘menu’);

var ul = menu.getElementsByTagName(‘ul’)[0];

ul.appendChild(newItem);

Page 15: Document  Object  Model

Объект windowМетоды:•alert(значение);

•confirm(вопрос);

if(confirm(‘Удалить?’)){

location.href = ‘/news/delete’;/// …

}

Page 16: Document  Object  Model

• prompt(вопрос[, начальное значение]);var x = prompt(‘Представьтесь!’);if(x!= null){ alert(‘Привет’, + x);}

Page 17: Document  Object  Model

Объект windowМетоды:moveTo(x,y)moveBy(dx, dy)resizeTo(x, y)resizeBy(dx, dy)print()

open(‘адрес’, ‘имя_окна’, ‘свойство1= значение1, свойство2= значение2, …’ );

Page 18: Document  Object  Model

Свойства:width = ширинаheight = высотаleft = левая координатаright = правая координатаtop = верхняя координатаlocation = yes | nomenubar = yes | no scrollbars = yes | notoolbar = yes | nostatus = yes | noresizable = yes | no

Page 19: Document  Object  Model

Пример:x= window.open(‘http://google.com.ua’, ‘google’, ‘width= 600, height=400, location= no, menubar= no’);x. resizeTo(700, 500);