rushelmet
rushelmet

Reputation: 305

JS - Is there a kind of placeholder that I can use in my javascript code?

I would like to replace a part of my html code using .replace() on a variable value.

document.body.innerHTML.replace('value="SOMETHING"', 'value='+priceRounded);

I want to replace value="SOMETHING" by 'value='+priceRounded whatever is SOMETHING. How can I do that ?

Thanks

Upvotes: 1

Views: 60

Answers (1)

Tschallacka
Tschallacka

Reputation: 28742

Well, if you know which tag you want to replace this might be the easiest solution.

var elems = document.getElementsByTagName('script');
for(c=0;c<elems.length;c++) {
   if(elems[c].getAttribute('value') === 'SOMETHING') {
      elems[c].setAttribute('value','something something');
      elems[c].setAttribute('value2','something something again');
   }
}

If you don't know the tag name you can use

var elems = document.querySelectorAll('*[value]')
for(c=0;c<elems.length;c++) {
   if(elems[c].getAttribute('value') === 'SOMETHING') {
       elems[c].setAttribute('value','something something');
       elems[c].setAttribute('value2','something something again');
   }
}

function run() {
var elems = document.querySelectorAll('*[value]')
    var output = document.getElementById('output');
    var div;
    for(c=0;c<elems.length;c++) {
       div = document.createElement('div');
       div.appendChild(document.createTextNode('Found '+(typeof elems[c]) + ' with value '+elems[c].getAttribute('value')));
       output.appendChild(div);
       if(elems[c].value == 'SOMETHING') {
           elems[c].value ='blablabla bla. the answer is 42';
       }
    }
  }
<div id="output"></div>
<input type="text" value="blah">
<input type="text">

<input type="text" value="whoa">

<input type="text">
<input type="button" onclick="run()">

Upvotes: 2

Related Questions