Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2008, 05:25
elpibeyf
 
Fecha de Ingreso: enero-2008
Mensajes: 28
Antigüedad: 17 años
Puntos: 0
DOM i javascript

Hola a todos, tengo aqui una pequeña consulta para realizar-les a ver si me la pueden aclarar. Resulta que a través de una consulat ajax paso mediante xml a un javascript una serie de datos, una vez en el javascript voy creando los elementos mediante el DOM, mi problema viene al crear un elemento de tip "a" i asignarle una funcion (onclick) con un parametro. El problema reside en que siempre se le pasa el mismo parametro, cuando para elemento que creo deberia ser un parametro distinto.
Pongo un ejemplo del codigo

Cita:
var taula=document.createElement("table");
var tbody=document.createElement("tbody");

for(i=0;i<root.childNodes.length;i++){//saco el elemnto raiz del xml para ir procesando los nodos

var jugadors=root.getElementsByTagName("jugador")[i]; var nick =jugadors.firstChild;
var punts=jugadors.lastChild;
var f1=document.createElement("tr");
var c1=document.createElement("td");
var t1=document.createTextNode(nick.firstChild.nodeVal ue);
var txt=t1.nodeValue;
var d=document.createElement("a");
d.appendChild(t1);
d.onclick=function (){mostrarjugador(t1.nodeValue)}<--aquí tengo el problema puesto que en cada interación del bucle deberia haber un t1.nodeValue distinto por lo tanto se deberia asignar ese parametro a la función, pero se asigna, para todos, el ultimo valor que toma t1.nodeValue!!

c1.appendChild(d);
var c2=document.createElement("td");
var t2=document.createTextNode(punts.firstChild.nodeVa lue);
c2.appendChild(t2);
f1.appendChild(c1);
f1.appendChild(c2);
tbody.appendChild(f1);
taula.appendChild(tbody);

}

Otra curiosidad que tengo, es que al ver el codigo fuente de mi pagina los elementos creados mediante DOM no aparecen, esto a que se debe??

GRACIAS A TODOS POR SU ATENCIÓN I AYUDA.