Nobody likes applications that are based on the console... Can you imagine using Uber from the command line???
Thankfully we have the browsers! They let us render our application in a visual interface that we call a website.
As you know already, the responsibility of the browser is to transform HTML/CSS code into visual elements. Those elements are mapped into a hierarchy that is stored in RAM memory and it’s called The DOM.
<script> tag, like this:
There are several ways to manipulate the DOM, but the most simple one is document.write. Every time you create a document.write you will be writing onto the HTML whatever string you decide to pass as a parameter to the write function.
It does not matter where you write the code. The only thing that matters is that it is wrapped inside a
<script> tag. For example:
Just like we did with CSS, we can select any element in the document. There are 4 methods that allow us to search for whatever we want:
Returns an instance of the first element found that fits the CSS selector that you specified.
Returns an instance of the element with the id="elementId" in the HTML document.
Returns an array of all elements with the class="exampleClass" in their HTML tag property.
Returns an array with all the instances representing each paragraph element in the HTML document.
Returns an array with all the elements that have name="name_value" in the name property of their HTML tag in the HTML document.
It is very common to need to change an element’s child. For example:
<li>children of a specific
<ul>to make their background red.
<tr>row of a
And the list goes on!
The best way to retrieve the child elements of any DOM element is by using its childNodes properties – like this:
This returns an array with all the element’s children elements.
As you already know, each element in the HTML document can have some sort of HTML content. It does not matter if it is a
<A> or any other HTML element; it can have its own innerHTML combined with more HTML content.
☝ You can find other 2 properties on the internet: nodeValue and textContent, but they are not really universally used and they are more limited in functionality.
There are 2 functions we can use for that: appendChild and insertBefore.
Lets say that you have selected a
<div> with the id="myFirstDiv" and you want to add a new h1 inside of that div.
You can use the appendChild function like this:
Now, let's say that we have a
<ul> with 2 elements, but we want to insert a new
<li> at the beginning of that list.
We can use the function insertBefore for that case – like this:
The removeChild function is great to remove an element from the DOM, and, consequentially, from the HTML document as well. You will have to specify who is the parent of the element that you are trying to delete.
For example, if we want to remove all of the elements from a UL list:
☝ This is the only function supported by all browsers; don’t use .remove() if you care about Explorer.
To change any attribute of any object in the DOM, we need to use the .attribute property just like this:
You can also change any CSS rule or property applied to the HTML elements by using the .style attribute – like this:
For more information about accessing the DOM, see: https://developer.mozilla.org/en-US/docs/Web/API/Document
The most efficient way to learn: Join a cohort with classmates like yourself, live streamings, coding jam sessions, live mentorships with real experts and keep the motivation.
From zero to getting paid as a developer, learn the skills of the present and future. Boost your professional career and get hired by a tech company.
Start a career in data science and analytics. A hands-on approach with interactive exercises, chat support, and access to mentorships.
Keep your motivation with this 30 day challenge. Join hundreds of other developers coding a little every day.
Start with Python and Data Science, Machine Learning, Deep Learning and maintaining a production environment in A.I.