Foros del Web » Programando para Internet » Javascript »

capturar valor de un subelemento creado por DOM

Estas en el tema de capturar valor de un subelemento creado por DOM en el foro de Javascript en Foros del Web. Hola a todos! Dinamicamente y utilizando DOM(createElement("div")) voy creando divs y dentro de estos creo un table para mostrar valores de los registros. A su ...
  #1 (permalink)  
Antiguo 26/08/2009, 11:15
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
capturar valor de un subelemento creado por DOM

Hola a todos!
Dinamicamente y utilizando DOM(createElement("div")) voy creando divs y dentro de estos creo un table para mostrar valores de los registros.
A su vez a cada div le registro un evento
div1.addEventListener("click",function(event){
......
}, false);
el evento se ejecuta desde el div ya que abarca todo el registro.
Como en cada table se genera un id distinto me gustaria capturar dicho id en la función ¿como hago referencia al id dentro del table desde el div?
Gracias!!!
__________________
I am Doyle please insert code.
  #2 (permalink)  
Antiguo 26/08/2009, 12:19
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: capturar valor de un subelemento creado por DOM

cuando un evento ocurre el navegador crea un objeto que contiene informacion acerca de ese evento. luego, ese objeto recorre por un camino con el fin de que algun listener (o handler) capture ese objeto. el listener no es nada mas que la funcion que asignas al elemento, en tu caso el <div>. lo que tienes que hacer es usar ese objeto en tu funcion para determinar donde originalmente ocurrio dicho evento y asi obtienes cual fue el elemento y el id de ese elemento. ahora, la parte quizas un poco complicada es determinar si realmente ese ID es el que necesitas. me explico, puede (y esto solo lo sabes tu) que algun otro elemento dentro de la tabla tengas elementos con id. si el usuario hace click en ese elemento entonces probablemente estarias capturando el ID incorrecto. la solucion es seguir subiendo por el arbol de nodo con parentNode, por lo cual tendras que figurarte alguna forma de determinar si ese es el ID correcto.

Código:
addEventListener("click",function(event){
// elemento donde originalmente ocurrio el evento;
var elem = event.target;
// si el elemento no tiene ID seguir por su ancestros;
while(!elem.hasAttribute("id"))elem = elem.parentNode;
// aqui de alguna forma tienes que determinar si el ID es valido para ti,;
// o bien si ningun otro elemento aparte del registro contiene ID entonces;
// no tienes que preocuparte;
// resto de tu codigo, elem es el registro deseado ...;
}, false);
te adelanto que no te funcionara en iexplorer debido a que este no implementa el mismo estandar de eventos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 27/08/2009, 06:43
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: capturar valor de un subelemento creado por DOM

La verdad no pensaba que lo iba a poder lograr,
Gracias por la explicación tambien, ya funciona!!!
__________________
I am Doyle please insert code.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.