Seema Mir
Seema Mir

Reputation: 41

how to replace same words in javascript multiple times?

Our developer used this phone number 1-866-579-469 all over the website but the correct phone number is 1-866-579-4269. I have written a javascript function to replace all occurrences:

var nodes,currentElement,oldtext,newtext,replaced,count;
function replaceAll(nodes,oldtext,newtext,replaced) { 
    count = 0
  for (var i = 0; i < nodes.length; i++) {
    currentElement  = nodes[i].innerHTML;  
    replaced = currentElement.replace(oldtext,newtext);
    count++;
  }
  console.log("Edited: "+ count + " items");
}

oldtext = "1-866-579-469";
newtext = "1-866-579-4269";
nodes = document.getElementsByTagName('*');

replaceAll(nodes,oldtext,newtext,replaced);

Upvotes: 1

Views: 152

Answers (1)

Ilyas karim
Ilyas karim

Reputation: 4812

Your code works but you missed to update the replaced string. This should work:

var nodes,currentElement,oldtext,newtext,replaced,count;
function replaceAll(nodes,oldtext,newtext,replaced) { 
    count = 0
  for (var i = 0; i < nodes.length; i++) {
    currentElement  = nodes[i].innerHTML;  
    replaced = currentElement.replace(oldtext,newtext);
    nodes[i].innerHTML = replaced;
    count++;
  }
  console.log("Edited: "+ count + " items");
}

oldtext = "1-866-579-469";
newtext = "1-866-579-4269";
nodes = document.getElementsByTagName('*');

replaceAll(nodes,oldtext,newtext,replaced);

Codepen Here

Upvotes: 1

Related Questions