Foros del Web » Programando para Internet » Javascript »

uso de this

Estas en el tema de uso de this en el foro de Javascript en Foros del Web. estimados tengo una funcion .. Código HTML: cambiar_flecha(cual){ cual.getElementById('flecha').src='2.gif' } y luego una lista interminable de... Código HTML: <button onclick='Javascript :cambiar_flecha(this)'> cambiar flecha <img id=flecha> ...
  #1 (permalink)  
Antiguo 01/08/2006, 13:31
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
uso de this

estimados tengo una funcion ..

Código HTML:
cambiar_flecha(cual){
    cual.getElementById('flecha').src='2.gif'
}
y luego una lista interminable de...

Código HTML:
<button onclick='Javascript:cambiar_flecha(this)'>
    cambiar flecha <img id=flecha>
</button>
<br>..............

la idea es qeu me cambie la flecha que esta dentro del boton.. no la primera
estoy usando bien el this? gracias!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 01/08/2006, 15:30
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola dieguicho

Bueno, si en la función estás haciendo referencia directa a un elemento por su id puedes omitir el this como parámetro y en la función cambiar el this. por document.

Código:
cambiar_flecha(){
    document.getElementById('flecha').src='2.gif'
}
Un saludo
  #3 (permalink)  
Antiguo 01/08/2006, 16:07
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
hola tunait!
el problema es que dentro de cada boton tengo img... id=flecha
osea que hay muchisimos flecha
necesito apuntarle al id flecha que tengo dentro de button
gracias!
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 02/08/2006, 01:47
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Lo que pasa es que no deben haber 2 id iguales dentro de un mismo documento. El id ha de ser único.

En todo caso tal vez podría venirte bien hacer algo así

Código:
cambiar_flecha(donde){
    document.getElementById(donde).src='2.gif'
}
Código:
<button onclick="cambiar_flecha('flecha1')">
    cambiar flecha <img id="flecha1">
</button>
<br>..............

<button onclick="cambiar_flecha('flecha2')">
    cambiar flecha <img id="flecha2">
</button>
<br>..............
saludos
  #5 (permalink)  
Antiguo 02/08/2006, 02:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Otra alternativa, usando this, sería obtener la primera imagen (y como veo única) que dependa del objeto:

<button onclick='cambiar_flecha(this)'>
cambiar flecha <img >
</button>

No haría falta atributos adicionales (aunque alt y src...)

cambiar_flecha(cual){
cual.getElementsByTagName('img')[0].src='2.gif';
}

Se suelen usar esos métodos (getElementById, getElementsByTagName, etc.) dependiendo de document, pero son métodos para cualquier tag aunque inútiles en algunos casos como imágenes, inputs...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 02/08/2006, 13:01
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
ahja.. es la unica imagen dentro del boton
asi que esto ultimo funciono muchas gracias!
__________________
On error no hago nada porque deje de fumar...
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 02:10.