Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

changing the text content of both h1 and a span that are on the same line

I have a web page acting as input to an imbedded device and I change modes during operation.
I have the following h1 line.

 <h1 id="speedlab">Speed: <span id="speedText">0</span>%</h1>

and I update it in one mode using :-

 var output = document.getElementById("speedText");
    vslidertmp = (100 -(Math.abs(vslidertmp-100)/2));
    vslidertmp = (vslidertmp.toFixed(0));
    glslider.value = vslidertmp;
    output.innerHTML = (vslidertmp - 100) ;

when I change modes, I want to update the h1 line
to change the header text to "Trim:" and the speedtext content to the value of Trim .
I assume updating the speedtext is the same but how do I update the header text from Speed: to Trim: and leave the span element intact.
I can’t work out the syntax for this.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

I’d put the variable text into its own element, to allow for quick toggling of it when needed.

<h1 id="speedlab">
  <span class="mode">Speed</span>: <span id="speedText">0</span>%
</h1>

And to change it

document.querySelector('.mode').textContent = 'Trim';

While you could replace the contents of the text node as well, without changing the HTML markup…

document.querySelector('#speedlab').childNodes[0].textContent = 'Trim: ';

Giving the mode its own element is nicer.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading