Foros del Web » Programando para Internet » Javascript »

Cambiar <a href="...">

Estas en el tema de Cambiar <a href="..."> en el foro de Javascript en Foros del Web. Hola, tengo un enlace de la siguiente manera: Código: <a href="javascript :funcion()">función</a> y funcion() hace lo siguiente: Código: function funcion(){ alert('Has ejecutado la función 1'); ...
  #1 (permalink)  
Antiguo 03/11/2005, 11:51
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Cambiar <a href="...">

Hola, tengo un enlace de la siguiente manera:

Código:
<a href="javascript:funcion()">función</a>
y funcion() hace lo siguiente:

Código:
function funcion(){
  alert('Has ejecutado la función 1');
  /* aqui va una instrucción que no se cual es */
}
Lo que quiero que haga la instrucción que no se es cambiar el destino del enlace para que se ejecute otra función y quede así:

Código:
<a href="javascript:funcion2()">función</a>
y funcion2() sea:

Código:
function funcion2(){
  alert('Has ejecutado la función 2');
  /* aqui va una instrucción que no se cual es */
}
Y aqui la instrucción que no se debe restaurar el enlace para que quede como al principio.

Es decir, lo que busco es como hacer que se cambie el enlace, espero que alguien me oriente para poder hacerlo.

Gracias!
  #2 (permalink)  
Antiguo 03/11/2005, 12:51
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
Mira a ver si te sirve este ejemplo

Código:
<script type="text/javascript">
<!--
function funcion1(el){
	alert('va la uno!')
	el.href = "va la dos"
	el.firstChild.nodeValue = "función 2"
	el.onclick = function(){funcion2(this);return false}
}
function funcion2(el){
	alert('va la dos!')
	el.href = "va la uno"
	el.firstChild.nodeValue = "función 1"
	el.onclick = function(){funcion1(this);return false}
}
//-->
</script>
</head>

<body>
<a href="va a la uno" onclick="funcion1(this);return false">función 1</a>
</body>
  #3 (permalink)  
Antiguo 03/11/2005, 18:23
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Ya lo creo que me sirve, muchas gracias!

Pero hay algunas cositas que no entiendo y te agradecería que me las explicases, si puede ser, para tenerlo más claro (no me conformo con una solución sino que me gusta saber que estoy haciendo )

¿Por qué en:
Código:
<a href="va a la uno" onclick="funcion1(this);return false">función 1</a>
la referencia a la función en javascript la pones en onClick y no en href?

¿Qué papel juega en este caso href?

Gracias otra vez
  #4 (permalink)  
Antiguo 04/11/2005, 11:32
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Vale, creo que ya lo he entendido:

href es para que tenga pinta de enlace y firstChild.nodeValue se refiere al texto, no?
  #5 (permalink)  
Antiguo 04/11/2005, 11:42
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
Buenas

el href es un atributo del elemento a para crear hipervínculos.

La forma adecuada para invocar a algún lenguaje de script es usar el atributo que recoge el evento deseado, en este caso onclick. Si bien se puede llamar a javascript desde el atributo href (y funciona) "se dice" que no es la forma adecuada.

Cita:
href es para que tenga pinta de enlace y firstChild.nodeValue se refiere al texto, no?
<a> es el enlace, href la propiedad que define a dónde irá el enlace y el firstChild es el texto contenido en el link (efectivamente). El documento no es más que un arbol de nodos en donde el link si está directamente en body será un nodo descendiente directo (hijo) de body y su contenido escrito será el nodo descendiente directo (hijo) de <a>. Al ser un nodo de tipo texto se hace referencia a su valor por medio de nodeValue.

El tema del DOM (Document Object Model) es muy interesante, te sugiero su lectura. Ayuda mucho a saber moverte por los elementos de un documento y usar sus métodos y propiedades (del DOM) para hacer cosas bien chulas y prácticas

Un saludo
  #6 (permalink)  
Antiguo 04/11/2005, 12:15
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 19 años, 6 meses
Puntos: 1
Cita:
Iniciado por tunait
El tema del DOM (Document Object Model) es muy interesante, te sugiero su lectura.
Eso tendré que hacer

Gracias.
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 08:20.