- Overview
- Transcript
8.1 Selecting HTML Elements
In this lesson I’ll show you the different DOM methods we can use to select elements from the page so that we can work with them programmatically.
Syntax
getElementById
getElementsByClassName
getElementsByTagName
1.Introduction2 lessons, 07:42
1.1Introduction02:12
1.2Setup05:30
2.Language Fundamentals8 lessons, 1:00:53
2.1Variables06:33
2.2Data Types11:28
2.3Arithmetic, Assignment, and Comparison Operators10:24
2.4Unary, Logical, Comma, and Spread Operators09:02
2.5Operator Precedence03:50
2.6Reserved Words04:17
2.7Strict Mode04:34
2.8Functions10:45
3.Data Structures5 lessons, 22:52
3.1Arrays04:29
3.2Objects04:30
3.3Sets04:57
3.4Maps04:21
3.5Weak Maps and Weak Sets04:35
4.Controlling Program Execution7 lessons, 37:06
4.1Conditionals07:49
4.2Switch Statements04:41
4.3The For Loop06:39
4.4The `for .. in` Loop05:17
4.5The `for .. of` Loop04:02
4.6Iterators05:03
4.7While Loops03:35
5.Using JavaScript13 lessons, 1:44:36
5.1Working With Strings09:32
5.2Template Literals05:46
5.3Working With Numbers06:57
5.4Working With Arrays12:53
5.5Iterating and Transforming Arrays07:33
5.6Working With the Object Type13:55
5.7Object Literal Extensions06:45
5.8Working With Object Instances06:45
5.9Getters and Setters05:00
5.10Custom Objects11:28
5.11The `Math` API04:54
5.12Working With Dates and Times08:10
5.13The `Array` Constructor04:58
6.Functions8 lessons, 56:07
6.1The `this` Object06:15
6.2Working With Functions10:11
6.3Scope07:37
6.4Arrow Functions06:59
6.5Generator Functions08:13
6.6Closures05:00
6.7Prototypes06:26
6.8Default and Rest Parameters05:26
7.Miscellaneous6 lessons, 52:39
7.1Destructuring Assignments08:09
7.2AJAX08:30
7.3Regular Expressions10:51
7.4More About Regular Expressions08:38
7.5Classes06:48
7.6ES Modules09:43
8.Working With the DOM6 lessons, 37:39
8.1Selecting HTML Elements05:02
8.2Manipulating HTML Elements07:40
8.3DOM Traversal05:25
8.4Adding and Removing Elements04:45
8.5Creating Elements and Other Nodes04:39
8.6DOM Events10:08
9.Web APIs4 lessons, 17:41
9.1The Selector API03:03
9.2Geolocation05:29
9.3Web Storage05:24
9.4Web Workers03:45
10.Asynchronous JavaScript5 lessons, 26:23
10.1Promises09:52
10.2Promise Chaining05:11
10.3The async Keyword03:21
10.4The await Keyword04:04
10.5More About async and await03:55
11.Conclusion1 lesson, 00:43
11.1Conclusion00:43
8.1 Selecting HTML Elements
Hi folks. In this section, we're going to focus on using JavaScript to work specifically with HTML pages, and the different elements they contain. Starting with the different ways that we can select elements from the page in this lesson, working with web pages programmatically is not a goal of the core ECMAscript specification that JavaScript is based on. But the W3C have also added a number of specifications for working with the DOM, or the Document Object Model, as it's officially known, which represents a web page. A web page is made up of individual nodes, which constitute the different elements that make up the page. These elements, or nodes, are organized in a tree structure, where some nodes are parents, and some nodes are children, or siblings, of other nodes. Let's just add an element to our index page. We do have some elements on here already, but these are elements that we don't usually work with in JavaScript very often. So let's just add a heading. Okay so our index.html page now contains a heading. And we've given this heading an ID of mainheading, and the heading has some text. One of the fastest and easiest ways of selecting an element from the page is by using the getElementByID method. So let's select the heading that we just added. And let's take a look at the output in the browsers console. And we can see that it has logged the heading node to the console. So the getElementByID method is a method of the document object. And the document object represents the web page as a whole. Remember the window object represents the browser. The document object represents the page loaded within the browser. So the getElementById method returns a reference to an element. But if there isn't an element with the specified ID on the page, the method returns null. So the getElementById method returns a single object. Elements on the page should always have unique IDs, so the getElementById method will always return a single elements. Or null if there aren't any matching elements. But it should always return a single element if there is an element matching the ID. So if we want to get a collection of elements instead of a single element, there are a couple of different methods that we could use. Let's just go back and add some different elements to the page now as well So I've added a simple, unordered list with three list items. Each of these list items has the class item. So if we want to get all of the elements that have a particular class name, we can use the getElementsByClassName method instead. Now we can see that we have a collection of the matching elements from the page. Now it looks very much like an array. But just like the arguments object within a function, it's only an array-like collection. It's actually a node collection, or an element collection. It's not a true array. So we can't call true array methods on it. Just something to be aware of. We can also get all of the elements of a certain type. So, let's imagine that the list items didn't have a class name. We could still select them all by using the getElementsByTagName method instead. And we see another identical collection of list Items. Some elements, like form elements for example, can have a name attribute. And we can also select all elements that have a particular name attribute using the getElementsByName method. This method works in the same way, and returns the same type of object, as the getElementsByClassName and getElementsByTagName methods. So in this lesson, we looked at some of the different DOM methods we have for selecting elements, or collections of elements, from the page through the document interface. We looked at getElementByID, which is by far the fastest way to select a single element. And we looked at the getElementsByClass name and getElementsByTagName methods, which can return lists of nodes or DOM elements. In the next lesson, we'll move on to look at how we can manipulate elements once we have selected them from the page. Thanks for watching.