Traversing the DOM
Jump to navigation
Jump to search
Getting all Elements with the same class
var elements = document.querySelectorAll('.box'); // the queryelectorall Returns a Node List so we have to convert it to a regular array by using the slice.call var boxesArr = Array.prototype.slice.call(elements); boxesArr.forEach(function(curr){ cur.style.backgroundColor = 'green'; });
ES6 Version
Selecting Elements with the query selector
document.querySelector('h1'); document.querySelector('.classname'); // will return the 1st item with that class name document.querySelectorAll('.classname'); // will return a array with all items with that class name document.querySelectorAll(.classname').[0] // will select the first array item with that classname document.querySelector('#idname');
Creating and Inserting Elements
This will append the text after the first li
var p = document.createElement('P'); p.textContent = "A new Paragraph"; p.style.fontSize = '17px'; var li= document.querySelector('li'); li.appendChild(p);
This will append the text after the second li
var p = document.createElement('P'); p.textContent = "A new Paragraph"; p.style.fontSize = '17px'; var li= document.querySelectorAll('li')[1]; li.appendChild(p);
HTML
<body> <h1>Outwter</h1> <ul> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> </ul> </body>
Changing CSS
NOTE: CSS style names and DOM Styles are a little Different. eg. css background color is background-color while DOM is backgorundColor
var mystyle = document.querySelector('#myid'); mystyle.style.backgroundColor = "red";