Document Object Model (Model Obiektów Dokumentu)

Sposób przedstawienia obiektów, z których składa się dokument i relacji między nimi.

DOM W3C

DOM W3C (nazywany czasem wg wersji: DOM1, DOM2, DOM3) służy głównie do przedstawienia dokumentów XML (XHTML) oraz HTML. Używają go języki takie jak CSSJavaScript do operowania na dokumentach.

Niekiedy zamiast terminu bracia używa się sąsiedzi

Wg W3C DOM dokument to drzewiasty zbiór węzłów. Węzeł może być elementem, ciągiem tekstu, komentarzem, itp. Każdy węzeł może mieć jednego rodzica, dowolną ilość braci i, jeśli jest elementem, dowolną ilość dzieci.

Metody W3C DOM

WęzełOryginalna nazwaSelektor CSSJavaScript DOM
KorzeńRoot:root (CSS 3), htmlelement.ownerDocument.documentElement
RodzicParentbrakelement.parentNode
PrzodekAncestorbrakelement.parentNode.parentNode...
Poprzedni sąsiadPrevious siblingbrakelement.previousSibling
Następny sąsiadNext siblingelement + sąsiadelement.nextSibling
Pierwsze dzieckoFirst childelement > dziecko:first-childelement.firstChild
Ostatnie dzieckoLast childelement > dziecko:last-childelement.lastChild
Wszystkie dzieciChildrenelement > *element.childNodes
PotomkowieDescendantselement *element.getElementsByTagName('*')

Selektory CSS nie dają możliwości wybrania przodków, ani poprzedników, aby ułatwić przeglądarkom wyświetlanie progresywne (element występujący później w dokumencie nie powinien mieć wpływu na wcześniejsze) oraz uniemożliwić zrobienie kombinacji selektorów dających błędne koło.

DOM0

W3C DOM nie jest jedynym modelem dokumentu, jaki powstał na potrzeby stron WWW.

DOM Netscape (DOM0)
Znacznie różniący się od W3C DOM, był częścią pierwotnego języka Javascript wprowadzonego przez Netscape. Dzielił dokument na kolekcje obrazków, linków, fomularzy, itp. Część z tych rozwiązań została zachowana w W3C DOM dla kompatybilności wstecz.
DOM Microsoft (DHTML)
document.all był zbiorem wszystkich elementów posortowanym wg ich identyfikatora, kolejności w dokumencie lub nazwy tagu. Microsoft porzucił swój DOM na rzecz tego z W3C.

Zmodyfikowano: 13.09.2011, 09:40
submit