come ti avevo già scritto in precedenza, il comando innerHTML, sostituisce tutto il contenuto del tag a cui lo applichi. Praticamente, se parti dalla situazione:
<td id="copiaqui"><span class="style2">qualcosa</span></td>
applicando innerHTML arrivi a:
<td id="copiaqui">tua stringa</td>
perdendo l'associazione alla classe style2.

Le soluzioni sono molteplici:
- associare la classe al tag td:<td id="copiaqui" class="style2"></td>
- spostare l'id nel tag span: <td><span class="style2" id="copiaqui">qualcosa</span></td>
- recuperare il contenuto del tag td, rielaborarlo in modo da inserire la tua stringa nel punto opportuno e poi reinserire il tutto nel tag td con innerHTML

scegli la soluzione che ritieni più semplice o migliore...