[Javascript] Sostituire elemento HTML preso randomicamente dentro array

sunlightbanana

Utente Attivo
26 Ott 2011
96
0
6
Salve a tutti,
Io ho un array fatto di elementi HTML, tramite math.random ne prendo uno a caso e successivamente con splice() vorrei sostituirne il valore all'interno dell'array. Il problema è che invece di sostituire il valore preso random, cambia sempre il primo elemento dell'array. Ecco l'esempio per chiarire meglio:
Codice:
<p id="a1"></p>
<p id="a2"></p>
<p id="a3"></p>
    <script type="text/javascript">
        var a1 = document.getElementById('a1');
        var a2 = document.getElementById('a2');
        var a3 = document.getElementById('a3');

        var a = [a1,a2,a3];
        var box = a[Math.floor(Math.random()*a.length)];
        a.splice(box,1,'elemento_da_sostituire');

        for (h = 0; h < a.length; h++) {
            document.write(a[h] + '<br>');
        }
    </script>
Anche se preso un elemento randomicamente dall'array, cambierà sempre e solo il primo elemento dell'array:
Codice:
elemento_da_sostituire
[object HTMLParagraphElement]
[object HTMLParagraphElement]
Come faccio a cambiare l'elemento preso randomicamente dentro l'array? Precisando che è quell'elemento che voglio cambiare e non il contenuto di <p>

Grazie a tutti per l'aiuto prezioso che fornite!