feed twitter facebook LinkedIn facebook

JavaScript » Modificar los enlaces con JavaScript

Febrero 29, 2008 por Víctor Cuervo . 8389 visitas 6 Comentarios Imprimir Imprimir

Los enlaces también están dentro del modelo DOM de una página. Es por ello que mediante lenguaje JavaScript podremos modificar sus atributos: el contendio, el target asignado, así como la URL a la que enlazan.

Mediante este ejemplo vamos a componer un formulario que nos permita crearnos nuestro enlace personalizado. De tal manera que elijamos el texto del enlace, la URL a la cual va a acceder, si se abrirá en una nueva ventana, en un frame o en la misma,... es decir, rellenaremos datos para poder modificar todos los valores de los atributos del enlace.

Lo primero será crear nuestro formulario:

  1.  
  2. <form action="#">
  3. <label for="enlace">URL: </label>
  4. <input type="text" id="enlace"><br>
  5. <label for="texto">Texto: </label>
  6. <input type="text" id="texto"><br>
  7. <label for="destino">Target: </label>
  8. <select id="destino">
  9. <option value="_blank">Nueva Ventana</option>
  10. <option value="_self">Misma ventana</option>
  11. <option value="_parent">Ventana Padre</option>
  12. <option value="_top">Top</option>
  13.  
  14. <br>
  15. </form>
  16.  

Como cosa particular vemos que las opciones del destino del enlace se las presentamos mediante un combo. Las opciones son:

  • _blank, para abrir una nueva ventana.
  • _self, para abrirlo en la misma ventana.
  • _parent, abre en la ventana padre.
  • _top, abre eliminando todos los frames que pueda haber en la ventana.

Cuando se envíe el formulario obtenemos todos los valores para pasárselos a un método JavaScript que llamaremos modificar:

  1. <button onClick="modificar(getElementById('enlace').value, getElementById('texto').value, getElementById('destino').value);">Cambiar enlace</button>

Además tendremos un enlace con valores por defecto dentro de nuestra página. Este será el enlace que vayamos modificando.

  1. <a href="http://www.google.com" target="_blank" title="Google" id="mienlace">Google</a>

Ahora pasamos a codificar el método JavaScript. Lo primero que tenemos que hacer es acceder al enlace. Para ello nos apoyamos en el método getElementByID, al cual le pasamos el ID que le hayamos dado al enlace de nuestra página.

Los atributos que podemos modificar del elemento son los siguientes:

  • innerHTML, nos permite modificar el texto del enlace.
  • href, modifica la URL de destino del enlace.
  • target, representa el destino del enlace.

El código nos quedaría de la siguiente forma:

  1.  
  2. function modificar(url,texto,destino){
  3. document.getElementById("mienlace").innerHTML = texto;
  4. document.getElementById("mienlace").href = url;
  5. document.getElementById("mienlace").target = destino;
  6. }
  7.  

Visualizar el ejemplo
|- Descargar el código
|- Descargar del SVN
|- Reportar un error del código

tags: , ,

Artículos relacionados:

6 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. xd
    Noviembre 27, 2008 #

    Bueno la verdad os he de agradecer, me has ayudado. Gracias camarada.

  2. israel
    Febrero 2, 2009 #

    hola mira ayudame por favor

    los que quiero es cambiar un url a un java scrip

    el contenido es feed rss

  3. Poncho
    Marzo 7, 2012 #

    Hola me sirvio mucho el script pero como puedo hacer para que dichos cambios sean afectados en los archivos.

    Ejemplo

    Tengo un archivo llamado hola.xlsx

    y lo quiero cambiar a adios.xlsx

    y que se quede guardado con el ultimo nombre con el que lo llame.

    Ya que el script si los cambia pero como temporal si cierro la pagina no se guarda el cambio.

  4. Víctor Cuervo
    Marzo 9, 2012 #

    @Poncho,

    Con Javascript no puedes renombrar un fichero. Necesitarías un lenguaje de servidor: php, java,…

  5. Poncho
    Marzo 10, 2012 #

    @Victor Cuervo

    Gracias por aclararme la duda entonces utilizare uno de los que mencionas.

  6. Víctor Cuervo
    Marzo 13, 2012 #

    @Poncho,

    Ya nos contarás tu experiencia o si necesitas alguna ayuda. Y recuerda que siempre tienes disponible el foro para cualquier duda. http://www.dudasprogramacion.com

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*