internalHTML reemplazar no refleja

Tengo HTML algo como esto

<div id="foo">
<select>
<option> one </option>
</select>
</div>

cuando uso

document.getElementById('foo').innerHTML = document.getElementById('foo').innerHTML.replace("<option> one </option>", "<option> two </option>") ;

El innerHTML se reemplaza pero no se refleja en el navegador.

Si le aviso a innerHTML puedo ver que se ha cambiado ahora, pero en el navegador aún muestra la opción antigua.

¿Hay alguna manera de hacer que este cambio sea reconocido por el navegador?

Gracias por adelantado.

Respuestas a la pregunta(7)

Su respuesta a la pregunta