Lo que pasa es que el elemento
img
no puede tener el atributo
value
. En su defecto, puedes asignarle un
atributo personalizado el cual puedes recuperar con el método
getAttribute
o con la propiedad
dataset
.
Código Javascript
:
Ver original//Con getAttribute
alert(document.querySelector("#foo").getAttribute("data-propiedad")); //bar
//Con dataset
alert(document.querySelector("#foo").dataset.propiedad); //bar
Otro error que veo que cometes es que intentas tomar al conjunto de imágenes mediante el nombre 'imagen' cuando debería de ser
img
, además de que el método que deberías de usar es
getElementsByTagName
pues, el que estás usando, toma a los elementos por el valor de la propiedad
name
y no veo que asignes alguno, sin embargo, como solo deseas obtener el valor del —ya realizada la corrección— atributo personalizado, puedes usar la palabra reservada
this
puesto que realizas la llamada a la función
irACurso
al darle clic a la imagen.
Código Javascript
:
Ver originalfunction irACurso(){
alert(this.dataset.propiedad);
}
Como las imágenes son creadas de manera dinámica, debes de usar el método
setAttribute
para crear los atributos personalizados ya que la propiedad
dataset
es de solo lectura.
Código Javascript
:
Ver originalimagen.setAttribute("data-propiedad", "imagenes/"+array_datos[i].IMAGEN);
Y no olvides adherir el
<div>
creado en la primera función al documento o a alguna parte de este.
Saludos