Document Object Model
ה-DOM, או בשמו המלא, ה-Document Object Model, הינו מעין מודל היררכי של עצמים (אובייקטים) אותם מכיר הדפדפן. בעצם, התפיסה של אובייקטים היא בעצם "מכולות של מידע", כך שניתן לחלק אובייקט גדול למספר אובייקטים קטנים יותר.
למשל, נגיד שיש לי אובייקט של מכונית בשם car. המכונית הזו מורכבת למעשה מכמה חלקים אחרים: הגה, חלונות, גלגלים וכו'. אם אני ארצה להתייחס לאובייקט שנמצא בתוך אובייקט אני אעשה את זה ע"י מה שמכונה "תחביר-הנקודה", כלומר: car.window, car.wheel וכו'.
דבר נוסף שמאפיין אובייקטים זה שיש לאובייקטים תכונות. בדוגמא שנתתי קודם תכונה יכולה להיתו צבע המכונית, שנת הייצור שלה, הדגם שלה וכדומה. גם תכונות נכתבות ע"י תחביר הנקודה, למשל: car.color, car.window.color וכ'.
דבר אחרון שיש לאובייקטים זה שיטות (מתודות). שיטות אלו בעצם פעולות שהאובייקט יודע לבצע (או אם להיות יותר מדוייק במושגים תכנותיים - שיטה היא פונקציית ספריה של אובייקט). למשל, במקרה של המכונית, אחת השיטות יכולהל היות drive, והיא תיכתב כך: car.drive().
באותו האופן בו הדגמתי את האובייקטים של המכונית ניתן לגדיר אובייקטים של הדפדפן. האובייקט שנמצא ברמה הגבוהה ביותר הוא אובייקט החלון, המכונה window. מתחתיו יבוא ברוב המקרים אובייקט מסמך ה-HTML, שמתחיל החל מהתגית <Body> ונסגר בתגית </Body>. כל שאר האובייקטים כבר תלויים בתוכן של דף ה-HTML. אם יש טופס בשם Form_to_Send ובו נמצא שדה טקסט בשם Input_Text, אז ניתן לגשת לשדה הזה ע"י הכתיבה:
window.document.Form_to_Send.Input_Text או לחלופים ע"י הכתיבה: window.document.forms["Form_to_Send"].Input_Text.
כדי לגשת לאובייקטים שמוגדרים ב-DOM יש צורך בשפת סקריפטים שפועלת במסגרת הדפדפן. השפה הזאת היא לרוב שפת JavaScript, אך מלבדה יש גם את השפות VBScript ו-JScript.