C'è un errore evidente nello script js, ma anche come sintassi sa di vecchio (es5), ti consiglio un approccio più attuale. Ricorda inoltre che innerHTML serve per inserire codice html all'interno del DOM, nel tuo caso è sicuramente più indicato textContent visto che devi inserire solo testo.
es5 style :
codice:
<div class="test">Orange</div>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var myDiv = document.getElementsByClassName("test")[0];
myDiv.textContent = "Milk";
}
</script>
es6 style :
codice:
<div class="test">Orange</div>
<button id='myButton'>Try it</button>
<script>
const myButton = document.getElementById('myButton')
const myDiv = document.getElementsByClassName("test")[0]
myButton.addEventListener('click', myFunction)
function myFunction() { myDiv.textContent = "Milk" }
</script>