JS: Browser Window Object, DOM

By Xah Lee. Date: . Last updated: .

There are 3 kinds of objects you work with when using JavaScript for website:

Browser Window Object

The browser's window object is the root global object.

Everything is a property of the window object, including:

Google Chrome console window object 2014
Google Chrome console showing the window object

In browser console, type window to view this object's properties. [see JS: How to Use Browser Console]

The window object has important properties. For example:

You don't need to prefix window. to use its methods or properties. For example, alert("3") is same as window.alert("3")

The window object also has a property key "window", so window.window refers to itself. and window.window.window, window.window.window.window all refer to window.

The window object and its system is called Browser Object Model (BOM).

Document Object Model (DOM)

One of the most important property of window is window.document. This is the document object.

The document object represent the HTML/XML document in the browser window.

The document object contains methods to manipulate HTML elements and styles. This object system is called DOM (Document Object Model).

The DOM allows you to:

  1. Insert element. [see DOM: Create/Insert HTML Element]
  2. Remove element. [see DOM: Remove HTML Element]
  3. Change element's attributes. (such as class, id, name, width, etc.) [see DOM: Set Node Attribute Value]
  4. Change element's content. [see DOM: Change Element's Content]
  5. Change element's CSS style. [see DOM: Change CSS]

[see DOM: Basic DOM Methods]

Web Scripting Overview

  1. Browser Window Object, DOM
  2. Intro to Event-Based Programing
  3. JavaScript Load Order

DOM How-To

  1. Basic DOM Methods
  2. Get Element by ID, Tag, Name, Class, CSS
  3. Change CSS
  4. Change Node Content
  5. Create/Insert Node
  6. Remove Node
  7. Get Attribute Value
  8. Set Attribute Value
  9. Remove Attribute
  10. List/Add/Remove Class Attribute
  11. Add/Remove Event Handler
  12. Navigate DOM Tree
  13. Node Type, Name, Value

HTML Input

  1. Button
  2. Text Field
  3. Password Field
  4. Textarea
  5. Email 📧
  6. Number Field
  7. Radio Button 🔘
  8. Checkbox 🗹
  9. Popup Menu
  10. Slider 🎚
  11. Color Picker 🌈

Web Scripting Examples

  1. Disable Right Click
  2. document.write
  3. Image Rollover
  4. Pop-up New Window
  5. Digital Clock
  6. Stopwatch
  7. Fade a Element
  8. How to Create Tooltip
  9. Falling Snow Effect
  10. Box Following Scroll

Web Scripting Misc

  1. Web Cookies
  2. Web Storage
  3. DOM: Open URL window.open
  4. Encode URL, Escape String
  5. Browser Info, Navigator Object
  6. Get URL (window.location)
  7. Find Window Width
  8. Find Element Width
  9. WebSocket
  10. Value of “this” in Event Handler
  11. Event Delegation
  12. Get Current Script Tag
  13. insertAfter Element
  14. Randomize List
  15. create Document Fragment
  16. innerHTML, nodeValue, textContent, innerText?
  17. What is Live Object
  18. NodeList vs HTMLCollection
  19. Whitespace Nodes

jQuery

  1. jQuery Basics
  2. jQuery() vs querySelectorAll()
  3. Write JQuery Plugin

node.js

Like it? Help me by telling your friends. Or, Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. CSS
  3. JavaScript
  4. JS Obj Ref
  5. DOM
  6. SVG
  7. Blog