Ciao ragazzi, questo script visualizza a video un button che cliccando su di esso mostra e nasconde un div e cambia il value del button stesso (da value = "Nascondi" a value = "Mostra"), tutto funziona correttamente con IE e FF mentre con Chrome e Safari il value del button non cambia. Riuscite ad aiutarmi?

PS: vi posto solo una parte dell'intero script perchè in realtà si trova in una pagina php e viene generato dinamicamente, ma anche così come è postato il problema persiste.

Codice PHP:
<div id=0>
<
div>
[
b]2010[/b]
<
input type="button" value="Nascondi" style="width:65px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != ''){this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = '';this.value = 'Nascondi'}else{this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none';this.innerText = '';this.value = 'Mostra'}">
</
div>
<
div class="alt2" style="margin: 0px; padding: 0px; border: 0px inset;">
<
div  style="margin-left: 20px; margin-top: 10px; display: ;">Messaggio

</div>
</
div>
</
div