Document Object Model (DOM)

Slides:



Advertisements
Similar presentations
23-Aug-14 HTML/XHTML Forms. 2 What are forms? is just another kind of XHTML/HTML tag Forms are used to create (rather primitive) GUIs on Web pages Usually.
Advertisements

JavaScript Part 6. Calling JavaScript functions on an event JavaScript doesn’t have a main function like other programming languages but we can imitate.
1 The Information School of the University of Washington Nov 1fit dom © 2006 University of Washington Document Object Model (DOM) INFO/CSE 100, Fall.
1 The Information School of the University of Washington Oct 30fit review Programming Review INFO/CSE 100, Fall 2006 Fluency in Information Technology.
1 The Information School of the University of Washington Nov 8fit review © 2006 University of Washington Midterm 2 Review INFO/CSE 100, Fall 2006.
 2008 Pearson Education, Inc. All rights reserved Document Object Model (DOM): Objects and Collections.
Oct 25 1 The Information School of the University of Washington fit control © 2006 University of Washington Control Flow INFO/CSE 100, Fall 2006.
Server vs Client-side validation. JavaScript JavaScript is an object-based language. JavaScript is based on manipulating objects by modifying an object’s.
Adminisztratív November 24.-én az előadás és a gyakorlat elmarad A nagy gyakorlati feladatok beszedése a december 1.-én tartandó gyakorlatra tolódik A.
CS 299 – Web Programming and Design Introduction to HTML.
The Document Object Model. Goals Understand how a JavaScript can communicate with the web page in which it “lives.” Understand how to use dot notation.
Unobtrusive JavaScript
Execution Environment for JavaScript " Java Script Window object represents the window in which the browser displays documents. " The Window object provides.
CITS1231 Web Technologies JavaScript and Document Object Model.
Javascript II DOM & JSON. In an effort to create increasingly interactive experiences on the web, programmers wanted access to the functionality of browsers.
Copyright 2007, Information Builders. Slide 1 Understanding Basic HTML Amanda Regan Technical Director June, 2008.
Lecture 10 JavaScript: DOM and Dynamic HTML Boriana Koleva Room: C54
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2 Revised by Dr. T. Tran for CSI3140.
 2008 Pearson Education, Inc. All rights reserved Document Object Model (DOM): Objects and Collections.
1 The Information School of the University of Washington Nov 1fit dom © 2006 University of Washington Document Object Model (DOM)
CO1552 – Web Application Development Further JavaScript: Part 1: The Document Object Model Part 2: Functions and Events.
INTRODUCTION JavaScript can make websites more interactive, interesting, and user-friendly.
Document Object Model Nasrullah. DOM When a page is loaded,browser creates a Document Object Model of the Page.
XML DOM Week 11 Web site:
HTML Tutorial. What is HTML HTML is a markup language for describing web documents (web pages) HTML documents are described by HTML tags Each HTML tag.
Net-centric Computing Document Object Model (DOM).
Introduction to Web Site Development Department of Computer Science California State University, Los Angeles Lecture 9: JavaScript.
REEM ALMOTIRI Information Technology Department Majmaah University.
1 The Document Object Model. 2 Objectives You will be able to: Describe the structure of the W3C Document Object Model, or DOM. Use JavaScript to access.
Introduction to JavaScript MIS 3502, Fall 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 9/29/2016.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Javascript and Dynamic Web Pages: Client Side Processing
Document Object Model (DOM)
Just enough to get going!
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Internet of the Past.
Introduction to HTML.
HTML & teh internets.
Introduction to HTML.
A little MORE on JavaScript
W3C Web standards and Recommendations
The Document Object Model (DOM) is a W3C standard.
Section 17.1 Section 17.2 Add an audio file using HTML
JavaScript Functions.
Document Object Model (DOM)
INFO/CSE 100, Spring 2005 Fluency in Information Technology
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
Introduction to JavaScript
DHTML.
JavaScript Introduction
Week 11 Web site: XML DOM Week 11 Web site:
Document Object Model (DOM)
DHTML Javascript Internet Technology.
A second look at JavaScript
INFO/CSE 100, Spring 2006 Fluency in Information Technology
Document Object Model (DOM)
DHTML Javascript Internet Technology.
CHAPTER 7 JavaScripts & HTML Documents
INFO/CSE 100, Spring 2006 Fluency in Information Technology
INFO/CSE 100, Spring 2006 Fluency in Information Technology
Introduction to HTML5.
Teaching slides Chapter 6.
Introduction to JavaScript
INFO/CSE 100, Spring 2005 Fluency in Information Technology
Pertemuan 1 Desain web Pertemuan 1
INFO/CSE 100, Spring 2005 Fluency in Information Technology
The Most Basic HTML Page
Introduction to Programming and JavaScript
JavaScript.
Web Programming and Design
Presentation transcript:

Document Object Model (DOM) Nov 1 fit100-16-dom © 2006 University of Washington

fit100-16-dom © 2006 University of Washington References References JavaScript, The Definitive Guide by David Flanagan. Publisher O'Reilly W3C Document Object Model http://www.w3.org/DOM/ http://www.w3.org/2003/02/06-dom-support.html Document Object Model in Mozilla http://www.mozilla.org/docs/dom/ Nov 1 fit100-16-dom © 2006 University of Washington

fit100-16-dom © 2006 University of Washington What the heck is the DOM? Document Object Model Your web browser builds a model of the web page (the document) that includes all the objects in the page (tags, text, etc) All of the properties, methods, and events available to the web developer for manipulating and creating web pages are organized into objects Those objects are accessible via scripting languages in modern web browsers Mental model of a car. When you rent a car that you have never driven before, do you freak out about it? No! You have a model of how to drive it in your mind. This is called a mental model. Your web browser builds an actual model of a web page... Nov 1 fit100-16-dom © 2006 University of Washington

This is what the browser reads <html> <head> <title>Sample DOM Document</title> </head> <body> <h1>An HTML Document</h1> <p>This is a <i>simple</i> document. </body> </html> This is what the browser displays on screen.

Document This is a drawing of the model that the browser is working with for the page. <html> <head> <body> <title> "Sample DOM Document" <h1> <p> "An HTML Document" "This is a" <i> "document" "simple"

fit100-16-dom © 2006 University of Washington Why is this useful? Because we can access the model too! the model is made available to scripts running in the browser, not just the browser itself A script can find things out about the state of the page A script can change things in response to events, including user requests We have already used this capability in the GUI programming that we've done Nov 1 fit100-16-dom © 2006 University of Washington

Recall our simple GUI example This GUI has several simple controls. Two buttons to control the results One text field to display the results One pair of radio buttons to control the display One button to reinitialize Nov 1 fit100-16-dom © 2006 University of Washington

setResults(resultString) <script type="text/javascript"> function setResults(resultString) { var tempString = resultString; if (document.getElementById("radioLC").checked) { tempString = tempString.toLowerCase(); } else if (document.getElementById("radioUC").checked) { tempString = tempString.toUpperCase(); } document.getElementById("resultField").value = tempString; </script> the highlighted script above makes reference to several objects in the document object model Nov 1 fit100-16-dom © 2006 University of Washington

document.getElementById("radioLC").checked Reference to several nodes in the model of the page that the browser constructed document The root of the tree is an object of type HTMLDocument Using the global variable document, we can access all the nodes in the tree, as well as useful functions and other global information title, referrer, domain, URL, body, images, links, forms, ... open, write, close, getElementById, ... Nov 1 fit100-16-dom © 2006 University of Washington

Some information from a document <html> <head> <title>DOM Sample 1</title> </head> <body> Information about this document.<br> <script type="text/javascript"> document.write("<br>Title: ",document.title); document.write("<br>Referrer: ",document.referrer); document.write("<br>Domain: ",document.domain); document.write("<br>URL: ",document.URL); </script> </body> </html> Show dom1.html

document.getElementById("radioLC").checked This is a predefined function that makes use of the id that can be defined for any element in the page An id must be unique in the page, so only one element is ever returned by this function The argument to getElementById specifies which element is being requested Nov 1 fit100-16-dom © 2006 University of Washington

Some information about elements <html> <head> <title>DOM Sample B</title> <script type="text/javascript"> function showInfo() { var element = document.getElementById("opener"); var buffer = element.id + " tag is " + element.tagName; alert(buffer); element = document.getElementById("actionItem"); buffer = element.id + " tag is " + element.tagName; buffer += ", type is "+element.type; } </script> </head> <body> <p id="opener">The id attribute is very helpful.</p> <p id="closer">This is the closing paragraph.</p> <form> <button id="actionItem" type="button" onclick="showInfo()">Show Info</button> </form> </body> </html> Note Element doesn't refer to the value! Just the element. We have to explicitly ask for the value or the attribute values (see above).

Show demo DOM-SampleB.html

document.getElementById("radioLC").checked This is a particular property of the node we are looking at, in this case, a radio button Each type of node has its own set of properties for radio button: checked, name, ... refer to the HTML DOM for specifics for each element type Some properties can be both read and set Nov 1 fit100-16-dom © 2006 University of Washington

Some specific properties <head> <title>Simple Sample GUI</title> <script type="text/javascript"> function setResults(resultString) { var tempString = resultString; if (document.getElementById("radioLC").checked) { tempString = tempString.toLowerCase(); } else if (document.getElementById("radioUC").checked) { tempString = tempString.toUpperCase(); } document.getElementById("resultField").value = tempString; </script> </head>

fit100-16-dom © 2006 University of Washington Getting vs. Setting var oldvalue = document.getElementById("resultField").value; document.getElementById("resultField").value = "new value"; Nov 1 fit100-16-dom © 2006 University of Washington

fit100-16-dom © 2006 University of Washington Just the tip of the DOM The HTML Document Object Model is a standard for structuring data on a web page The field is advancing rapidly as people recognize the benefits of standardized structure and access The DOM is steadily improving to cover general purpose data structuring requirements XML (Extendible Markup Language) also uses the Core DOM to specify its structured data similar to HTML but more carefully defined Nov 1 fit100-16-dom © 2006 University of Washington

This is what the browser reads (dom3.html). <head> <title>DOM Sample 3</title> <script type="text/javascript"> var switchCount = 0; var adjectives = ["simple","complex","fascinating","unique"]; function switcher() { if (switchCount == (adjectives.length - 1)) switchCount = 0; else switchCount++; var italicNode = document.getElementById("adjPhrase"); italicNode.firstChild.nodeValue = adjectives[switchCount]; } </script> </head> <body> <h1>An HTML Document</h1> <p>This is a <i id="adjPhrase">simple</i> document. <form> <button type="button" onclick="switcher()">switch</button> </form> </body> </html>

This is what the browser displays on screen. Show demo dom3.html This is what the browser displays on screen.

What will be displayed on screen? Form groups of 5 or 6 Work together to answer the question: What will be written to the screen. TIP: The code runs fine - there are no errors or other “tricks” Nov 1 fit100-16-dom © 2006 University of Washington