Reputation: 305
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
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