EMM
EMM

Reputation: 181

Empty a NodeList

I have this code in javascript

var variables = document.getElementsByClassName('highlight');
var array = [];
while(variables.length > 0){
  array.push(variables[0].innerHTML);
  //Variables 0th index must remove here
}

I want to remove 0th index of node list variables. Similar to splice method in arrays.

Upvotes: 1

Views: 1996

Answers (2)

user663031
user663031

Reputation:

Use a regular old for loop:

var variables = document.getElementsByClassName('highlight');
var array = [];
while (var i = 0; i < variables.length; i++) {
  array.push(variables[i].innerHTML);
}

In modern JS, one might use map instead:

function getInnerHtml(elt) { return elt.innerHTML; }

Array.prototype.map.call(variables, getInnerHtml);

Upvotes: 0

AmmarCSE
AmmarCSE

Reputation: 30557

Use shift() and be sure to convert the nodeList to an array

var nodeList = document.getElementsByClassName('highlight');
var variables = Array.prototype.slice.call(nodeList);//convert to array

var array = [];
while(variables.lenght > 0){
  array.push(variables[0].innerHTML);
  variables.shift();
}

demo

Upvotes: 2

Related Questions