Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2016, 23:23
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: getAttribute style no funciona con ciclo for de php!

Antes de indicar la manera en la que puedes seleccionar a cualquiera de dichos elementos, debes saber que jamás debes de repetir el mismo id dentro del mismo documento HTML. Puedes repetir clases o nombres, pero nunca un id. Recuerda siempre que se trata de un dato único.

Ahora bien. El problema surge precisamente por intentar tomar a un elemento cuyo dato identificador se repite en otros elementos existentes en el mismo documento. Cuando intentas hacer algo semejante, solo logras obtener al primero de todos los elementos, y como estableces los valores de la posición del fondo con los valores de los contadores de los bucles y ambos empiezan con el valor cero, por ende, el primer elemento tiene "-0px" de top y left, respectivamente.

Si quisieras obtener las coordenadas de cualquiera de los elementos generados, deberías utilizar la propiedad target del objeto del evento:
Código Javascript:
Ver original
  1. function getImagePosition(event){
  2.     if (event.target.className == "imagen"){
  3.         var demo = event.target.style.backgroundPosition;
  4.         alert(demo.toString());
  5.     }
  6. }
De esta manera, si el elemento directamente afectado por el clic posee como clase a la cadena "imagen", tomas la posición de su fondo.

NOTA: Cuando asocias una función manejadora a un evento que se registra en un elemento del DOM, el objeto del evento es el primer argumento por defecto, a menos de que se especifique otro; por eso es que, en el ejemplo, lo defino de esa manera, sin tener que pasarlo como argumento.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand