En esta práctica de JavaScript he puesto en práctica el acceso a los atributos de los elementos (nodos) del DOM.
El usuario pulsará en el nombre del sitio web que desee visitar y después pulsará en un enlace que le llevará a dicho sitio web.
Para poder comprender el código de esta práctica es muy importante conocer la forma de acceder a los elementos del DOM y a los atributos de dichos elementos. Como ayuda puedes echarle un vistazo al siguiente enlace:
Código HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Práctica de JavaScript</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script src="funciones.js" type="text/javascript"></script>
</head>
<body>
<p>
Haz click en el sitio al que quieras ir (éste cambirá de aspecto) y luego
en el enlace.
</p>
<h2 id="direccion1">Google</h2>
<h2 id="direccion2">Yahoo</h2>
<h2 id="direccion3">Wikipedia</h2>
<p id="limpiar"></p>
<p><a id="enlace" href="#" target="_blank">Enlace multidireccional.</a></p>
</body>
</html>
Código CSS
h2 {
width: 250px;
float: left;
padding-left: 3em;
font-family: arial;
}
#limpiar {
clear: both;
}
p, a {
font-weight: bold;
font-size: 1.2em;
font-family: arial;
text-decoration: none;
}
Código JavaScript
window.onload = inicializar;
function inicializar() {
document.getElementById("direccion1").addEventListener("click", function(){direccion(0);}, false);
document.getElementById("direccion2").addEventListener("click", function(){direccion(1);}, false);
document.getElementById("direccion3").addEventListener("click", function(){direccion(2);}, false);
}
let urls = ["https://www.google.com/", "https://espanol.yahoo.com/", "https://www.wikipedia.org/"];
function direccion(num) {
let encabezados = document.getElementsByTagName("h2");
let enlace = document.getElementById("enlace");
enlace.href = urls[num];
for(let i in urls){
encabezados[i].style.color = "black";
encabezados[i].style.fontFamily = "arial";
}
encabezados[num].style.color = "red";
encabezados[num].style.fontFamily = "Verdana";
}
Demostración

Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.