Advanced DOM Builds on last presentation on DOM Allows you to dynamically create elements and position them on a page DOM methods/properties are W3C standard.

Slides:



Advertisements
Similar presentations
HTML DOM Part-II. Create Node We can create a node in JavaScript dynamically. There are 3 types of Node –Comment –Element –Text Node We can also create.
Advertisements

JavaScript and the DOM Les Carr COMP3001 Les Carr COMP3001.
JavaScript Part 6. Calling JavaScript functions on an event JavaScript doesn’t have a main function like other programming languages but we can imitate.
Document Object Model (DOM) JavaScript manipulation of the DOM.
HTML 5 and CSS 3, Illustrated Complete Unit L: Programming Web Pages with JavaScript.
Tutorial 16 Working with Dynamic Content and Styles.
 2008 Pearson Education, Inc. All rights reserved Document Object Model (DOM): Objects and Collections.
CM143 - Web Week 2 Basic HTML. Links and Image Tags.
Inline, Internal, and External FIle
Chapter 12 Creating and Using XML Documents HTML5 AND CSS Seventh Edition.
4.1 JavaScript Introduction
® IBM Software Group © 2006 IBM Corporation JSF Tree Control This Learning Module describes the use of the JSF Tree Control – for hierarchical organization.
HTML DOM.  The HTML DOM defines a standard way for accessing and manipulating HTML documents.  The DOM presents an HTML document as a tree- structure.
JS: Document Object Model (DOM)
Basic HTML Hyper text markup Language. Re-cap  … - The tag tells the browser that this is an HTML document The html element is the outermost element.
 2008 Pearson Education, Inc. All rights reserved Document Object Model (DOM): Objects and Collections.
DOM and JavaScript Aryo Pinandito.
Lecture 11 – DOM Scripting SFDV3011 – Advanced Web Development Reference: 1.
D2L Notes Be sure to submit your link in the dropbox provided on D2L You can just upload an empty text file if a file upload is required Do not use D2L.
Interacting with a Web Page using JavaScript Mat Kelly GTAI Presentation January 10, 2014.
Parsing with DOM using MSXML Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
JavaScript – The DOM JavaScript is object based The browser is object based – We can access the browser's objects in the same way we did JavaScript's Two.
JavaScript, Fourth Edition
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
5.2 DOM (Document Object Model). 2 Motto: To write it, it took three months; to conceive it three minutes; to collect the data in it — all my life. —F.
Unit 3 Day 6 FOCS – Web Design. Journal Unit #3 Entry #4 Write the source code that would make the following display on a rendered page: Shopping List.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Javascript II DOM & JSON. In an effort to create increasingly interactive experiences on the web, programmers wanted access to the functionality of browsers.
USING XML AS A DATA SOURCE. Data binding is a process by which information in a data source is stored as an object in computer memory. In this presentation,
XP Tutorial 16 New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with Dynamic Content and Styles Creating a Dynamic Table of Contents.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Introduction to Programming the WWW I CMSC Winter 2003 Lecture 10.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2 Revised by Dr. T. Tran for CSI3140.
HTML GUIDE Press F5 and then Click on the links on the left to get to the section you want Section 1: Getting Started Section 2: Moving Banner Section.
1 Javascript DOM Peter Atkinson. 2 Objectives Understand the nature and structure of the DOM Add and remove content from the page Access and change element.
 2008 Pearson Education, Inc. All rights reserved Document Object Model (DOM): Objects and Collections.
Advanced DOM Builds on last presentation on DOM Allows you to dynamically create elements and position them on a page DOM methods/properties are W3C standard.
Review of the DOM Node properties and methods Some ways of accessing nodes Appending, copying and removing nodes Event handling – Inline – Scripting –
JQuery JavaScript is a powerful language but it is not always easy to work with. jQuery is a JavaScript library that helps with: – HTML document traversal.
Headings are defined with the to tags. defines the largest heading. defines the smallest heading. Note: Browsers automatically add an empty line before.
DOM (Document Object Model) - Parsing and Reading HTML and XML -
Lesson 16. Practical Application 1 We can take advantage of JavaScript and the DOM, to set up a form so that the first text box of a form automatically.
IN THIS LESSON, WE WILL BECOME FAMILIAR WITH HTML AND BEGIN CREATING A WEB PAGE IN YOUR COMPUTER HTML – the foundation.
Computer Information System Information System California State University Los Angeles Jongwook Woo CIS 461 Web Development I HTML DOM part I Jongwook.
JS: Document Object Model (DOM) DOM stands for Document Object Model, and allows programmers generic access to: DOM stands for Document Object Model, and.
Introduction to JQuery COGS 187A – Fall JQuery jQuery is a JavaScript library, and allows us to manipulate HTML and CSS after the page has been.
Introduction to JavaScript LIS390W1A Web Technologies and Techniques 24 Oct M. Cameron Jones.
HTML. INDEX Introduction to HTML Creating Web Pages Commands And Tags Web Page.
Javascript Basic Concepts Presentation By: Er. Sunny Chanday Lecturer CSE/IT RBIENT.
SE-2840 Dr. Mark L. Hornick 1 Dynamic HTML Making web pages interactive with JavaScript.
IN THIS LESSON, WE WILL BECOME FAMILIAR WITH HTML AND BEGIN CREATING A WEB PAGE IN YOUR COMPUTER HTML – the foundation.
XML DOM Week 11 Web site:
Web Programming JavaScript Essentials. Document Object Model Essentials Object Properties To put somenew text into a text box object, you assign a string.
Introduction to JavaScript DOM Instructor: Sergey Goldman.
XP Tutorial 10 New Perspectives on JavaScript, Comprehensive 1 Working with Dynamic Content and Styles Creating a Dynamic Table of Contents.
THE DOM.
Programming Web Pages with JavaScript
LINKS.
Document Object Model (DOM): Objects and Collections
Week 11 Web site: XML DOM Week 11 Web site:
The Document Object Model
Basic HTML and Embed Codes
Working with Dynamic Content and Styles
© 2015, Mike Murach & Associates, Inc.
Document Object Model (DOM): Objects and Collections
HTML Structure.
Javascript and JQuery SRM DSC.
Chengyu Sun California State University, Los Angeles
Web Programming and Design
Presentation transcript:

Advanced DOM Builds on last presentation on DOM Allows you to dynamically create elements and position them on a page DOM methods/properties are W3C standard – innerHTML is not officially part of the standard 1

The DOM Tree When Web page is loaded into the browser – Every element on the page gets a "reference" – New elements can be created and referenced – JavaScript code can use these references to create new elements on a page 2

Reminder Graphs The next few slides are a repeat of some graphs I used in the last presentation and will used again here – We need to know what's on a page to know where to place new elements 3

Types of Nodes 4 Element nodes point to the element itself, not its content! Two other kinds of nodes for content A text node is anything contained between the angle brackets An attribute node is used to access attributes of a tag (e.g. 'href')

Simplified HTML Code 5 DOMinating JavaScript DOMinating JavaScript If you need some help, you might like to read articles from Dan Webb, PPK and Jeremy Keith.

Text Nodes 6 Each text node has its own value and is attached to an element node

Attribute Nodes 7 Attribute nodes point to the attributes of the element Here we see an "Anchor" element node with a text node and two attribute nodes, "href" and "rel"

Two Step Process To get a brand new element on a page… 1. Create the element in a JavaScript variable 2.Place the element on the page 8

Create an Element Elements are things like,,, etc. To create an element use the DOM method createElement, e.g. var mypara = document.createElement("p"); – This creates a paragraph element – Stores a reference to the element in mypara 9

Adding a Child Element One way to place a dynamically created element on a page is with the appendChild First get a reference to a parent node and add another child element to the end e.g. var mypara = document.createElement("p"); var mybody = document.getElementById("mybody"); mybody.appendChild(mypara); We are still not finished… 10

Adding Text to the Paragraph In the last slide, I created an empty paragraph and added to the end of elements in the body. To add text to an paragraph you first must use the createTextElement method and then append that to the paragraph element, e.g. var myText = document.createTextNode("Hello World!"); mypara.appendChild(myText); 11

Exercise 5.1 Create a small HTML file with a paragraph and a button in the body Use JavaScript to add a paragraph to the display that says "I did it!" when the button is clicked 12

Questions Where did the paragraph appear on the page? What happens if you click the button a few more times? 13

Inserting an Element If you want to place an element before an existing element, use insertBefore – Syntax: parentElement.insertBefore(newElement, targetElement) Example: var gallery = document.getElementById('imagegallery'); gallery.parentNode.insertBefore(placeholder, gallery); 14

Seems a Bit Strange You have to get the parent of the element you want to insert before then insert before that element. var gallery = document.getElementById('imagegallery '); gallery.parentNode.insertBefore(someimage, gallery); Here is some of the HTML… Snapshots The gallery is a ul element in this example and the DOM/JavaScript code inserts the element someimage before the list 15

Exercise 5.2 Create a small HTML file with a list and a button in the body. The list items are: John, George, Ringo. When the button is clicked, use JavaScript to insert a list item "Paul" before "George" list item – NOTE: only put an id value on the tag, not any of the list items. 16

Clone an Element You can make an exact copy of an element node by using the cloneNode function Example… var list = document.getElementById("headlines"); var newlist = list.cloneNode(); 17

Clone an Element and Children To clone the entire list (with child nodes) like so… var list = document.getElementById("headlines"); var newlist = list.cloneNode(true); 18

Exercise 5.3 Create a small HTML file with a list and a button in the body. The list items are: John, Paul, George, Ringo. When the button is clicked, use JavaScript to make a copy of the entire list and insert it below the original list and before the button – NOTE: only put an id value on the tag, not any of the list items. 19

Removing Elements To remove elements use the removeChild method – NOTE: If an Element that you remove has children then all children are removed as well var message = document.getElementById('msg'); var container = message.parentNode; container.removeChild(message); 20

Exercise 5.4 Create a small HTML file with a list and a button in the body. The list items are: John, Paul, George, Ringo. When the button is clicked, use JavaScript to remove Paul from the list – NOTE: Use an id value for "Paul" 21

Replacing Elements To replace an element use the replaceChild method var message = document.getElementById('msg'); var container = message.parentNode; var para = document.createElement('p'); container.replaceChild(para, message); - this replaces message with para 22

Exercise 5.5 Create a small HTML file with a list and a button in the body. The list items are: John, Paul, George, Pete. When the button is clicked, use JavaScript to replace the listitem for Pete to a listitem for Ringo – NOTE: Use an id value for "Pete" 23

More Things to Know hasChildNodes – Boolean value = element.hasChildNodes – If (mylist.hasChildNodes) { … Useful nodeType values 1: Element 2: Attribute 3: Text 8: Comment 24

End End of Lesson 25