Traversing the DOM

From rbachwiki
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

const boxesArr = Array.from(elements)
boxesArr.forEach(cur => cur.style.backgroundColor = 'blue');


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";

Back To Top- Home - Category