El hecho de haber impreso con echo no es importante si el resultado es html valido. Para javascript ese html lo podrias haber escrito a mano es lo mismo.
    
Código HTML:
Ver original- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
- <script language="JavaScript" type="text/JavaScript"> 
- function edit(cod) { 
- var tr=document.getElementsByTagName("tr")[cod]; 
- var c= tr.getElementsByTagName("td")[0].innerHTML; 
- alert (c); 
- tr.getElementsByTagName("td")[0].innerHTML+=" Editado"; 
- } 
-   
-   
- <table border="1" cellspacing="0" cellpadding="0"> 
- <input name="" type="button" value="Edita la celda 31" onClick="edit(2)"> 
Como puedes ver tu función muestra la celda 31 (recuerda que los indices de las matrices empiezan por cero)