JavaScript - Document Object Model lub DOM
Każda strona internetowa znajduje się w oknie przeglądarki, które można traktować jako obiekt.
Obiekt Document reprezentuje dokument HTML wyświetlany w tym oknie. Obiekt Document ma różne właściwości odnoszące się do innych obiektów, które umożliwiają dostęp do treści dokumentu i modyfikację.
Sposób uzyskiwania dostępu do treści dokumentu i jego modyfikowania nazywany jest Document Object Modellub DOM. Obiekty są zorganizowane w hierarchię. Ta hierarchiczna struktura dotyczy organizacji obiektów w dokumencie sieci Web.
Window object- Najwyższe miejsce w hierarchii. Jest to najdalszy element hierarchii obiektów.
Document object- Każdy dokument HTML ładowany do okna staje się obiektem dokumentu. Dokument zawiera zawartość strony.
Form object - Wszystko zawarte w tagach <form> ... </form> ustawia obiekt formularza.
Form control elements - Obiekt formularza zawiera wszystkie elementy zdefiniowane dla tego obiektu, takie jak pola tekstowe, przyciski, przyciski opcji i pola wyboru.
Oto prosta hierarchia kilku ważnych obiektów -
Istnieje kilka DOMów DOM. Poniższe sekcje szczegółowo wyjaśniają każdy z tych DOM i opisują, jak można ich używać do uzyskiwania dostępu i modyfikowania zawartości dokumentu.
Legacy DOM - to model, który został wprowadzony we wczesnych wersjach języka JavaScript. Jest dobrze obsługiwany przez wszystkie przeglądarki, ale umożliwia dostęp tylko do niektórych kluczowych części dokumentów, takich jak formularze, elementy formularzy i obrazy.
W3C DOM - ten model obiektowy dokumentu umożliwia dostęp i modyfikację całej zawartości dokumentu i jest standaryzowany przez World Wide Web Consortium (W3C). Ten model jest obsługiwany przez prawie wszystkie współczesne przeglądarki.
DOM IE4 - ten model obiektowy dokumentu został wprowadzony w wersji 4 przeglądarki Internet Explorer firmy Microsoft. IE 5 i nowsze wersje obsługują większość podstawowych funkcji W3C DOM.
Zgodność z DOM
Jeśli chcesz napisać skrypt z możliwością elastycznego korzystania z W3C DOM lub IE 4 DOM w zależności od ich dostępności, możesz użyć metody testowania możliwości, która najpierw sprawdza istnienie metody lub właściwości, aby określić, czy przeglądarka ma możliwości, których pragniesz. Na przykład -
if (document.getElementById) {
// If the W3C method exists, use it
} else if (document.all) {
// If the all[] array exists, use it
} else {
// Otherwise use the legacy DOM
}