HTML:
<div id='verse'> <p id='text'> <span id = 'reference'>random stuff here</span> random stuff here </p> </div>JS:
class Verse { ... update() { document.getElementById('text').innerHTML = 'text'; document.getElementById('reference').innerHTML = 'reference'; } ... } Cada vez que llamo a .update en una instancia de Verse , el texto del elemento de párrafo cambia sin problemas, pero intentar cambiar el texto del intervalo me da un error: TypeError: Cannot set properties of null . Tampoco funciona con texto interior. Funciona bien si lo cambio fuera de la clase. ¡Gracias por la ayuda!
Establecer innerHTML en #text reemplaza el contenido de <p> por completo, por lo que cuando intenta acceder a #reference , ya no existe.
La forma más sencilla de evitar esto sería agregar otro lapso y reemplazar su texto en lugar del <p> completo.
<div id='verse'> <p> <span id='reference'>random stuff here</span> <span id='text'>random stuff here</span> </p> </div>