For modern browsers you should use:
document.getElementById("myspan").textContent="newtext";
While older browsers may not know textContent
, it is not recommended to use innerHTML
as it introduces an XSS vulnerability when the new text is user input (see other answers below for a more detailed discussion):
//POSSIBLY INSECURE IF NEWTEXT BECOMES A VARIABLE!!
document.getElementById("myspan").innerHTML="newtext";