Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • E ECMAscript-Typescript
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • imunnic
  • ECMAscript-Typescript
  • Wiki
  • Modulo 3.Ejercicios

Last edited by imunnic Jan 27, 2026
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Modulo 3.Ejercicios

Ejercicio 1: Agregar elementos a una lista

Enunciado

Crea un script en TypeScript que permita agregar elementos a una lista cuando el usuario escriba un texto y pulse el botón Agregar.


HTML proporcionado

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 1</title>
</head>
<body>

  <input type="text" id="itemInput" placeholder="Escribe un elemento" />
  <button id="addButton">Agregar</button>

  <ul id="itemList"></ul>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 2: Eliminar elementos al hacer clic

Enunciado

Crea un script en TypeScript que permita eliminar un elemento de la lista haciendo clic sobre él.


HTML proporcionado

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 2</title>
</head>
<body>

  <ul id="itemList">
    <li>Elemento 1</li>
    <li>Elemento 2</li>
    <li>Elemento 3</li>
  </ul>

  <script src="main.js"></script>
</body>
</html>

Requisitos

  • Al hacer clic en un <li>, este debe eliminarse.
  • Usar eventos desde TypeScript.
  • No modificar el HTML inicial.

Ejercicio 3: Lista dinámica con botón eliminar

Enunciado

Desarrolla una aplicación que permita agregar elementos a una lista y eliminar cada uno de ellos mediante un botón individual.


HTML proporcionado

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 3</title>
</head>
<body>

  <input type="text" id="itemInput" placeholder="Nuevo elemento" />
  <button id="addButton">Agregar</button>

  <ul id="itemList"></ul>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 4: Alerta después de un tiempo

Enunciado

Crea una página HTML con un botón que diga “Mostrar alerta”. Cuando el usuario haga clic en el botón, se debe mostrar una alerta después de 5 segundos que diga: “¡Han pasado 5 segundos!”.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 4</title>
</head>
<body>

  <button id="alertButton">Mostrar alerta</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 5: Contador con intervalos

Enunciado

Crea una página HTML con un párrafo <p> que muestre un contador que aumente de 1 en 1 cada segundo. Incluye un botón “Detener” que detenga el contador.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 5</title>
</head>
<body>

  <p id="counter">0</p>
  <button id="stopButton">Detener</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 6: Alerta periódica con límite

Enunciado

Crea una página HTML con un botón “Iniciar alertas”. Cuando se pulse el botón, se debe mostrar una alerta cada 3 segundos durante 4 veces, después de lo cual las alertas se detendrán automáticamente.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 6</title>
</head>
<body>

  <button id="startAlertsButton">Iniciar alertas</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 7: Cambiar el color de un párrafo

Enunciado

Crea una página con un párrafo <p> y un botón “Cambiar color”. Cuando el usuario haga clic en el botón, el párrafo debe cambiar su color a rojo.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 7</title>
</head>
<body>

  <p id="myParagraph">Este es un párrafo que cambiará de color.</p>
  <button id="colorButton">Cambiar color</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 8: Alternar clases CSS

Enunciado

Crea una página con un div y un botón “Activar/Desactivar”. Cuando se haga clic, el div debe alternar entre dos estilos definidos en CSS (por ejemplo, fondo azul y fondo gris).

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 8</title>
  <style>
    .active {
      background-color: blue;
      color: white;
      padding: 10px;
    }
    .inactive {
      background-color: gray;
      color: black;
      padding: 10px;
    }
  </style>
</head>
<body>

  <div id="myDiv" class="inactive">Este div cambiará de estilo.</div>
  <button id="toggleButton">Activar/Desactivar</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 9: Cambiar tamaño y fuente de un elemento

Enunciado

Crea un párrafo y dos botones:

  • “Aumentar tamaño” → aumenta la fuente del párrafo en 2px cada vez que se pulse.
  • “Cambiar fuente” → cambia la tipografía del párrafo a Courier New.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8" />
  <title>Ejercicio 9</title>
</head>
<body>

  <p id="textParagraph">Texto que cambiará de tamaño y fuente.</p>
  <button id="increaseSizeButton">Aumentar tamaño</button>
  <button id="changeFontButton">Cambiar fuente</button>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 10: Mostrar todo el contenido de la variable

Enunciado

Crea una página que muestre todos los elementos de una variable recursos en una lista <ul>. Cada elemento debe convertirse en un <li> con su contenido completo.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Ejercicio 10 - Mostrar variable</title>
</head>
<body>

  <h1>Lista de recursos</h1>
  <ul id="recursosList"></ul>

  <script src="main.js"></script>
</body>
</html>

Variable hardcodeada sugerida

interface Recurso {
  id: number;
  nombre: string;
  tipoRecurso: string;
}

const recursos: Recurso[] = [
  [
        {
          "id": "1h374h238dn394dhs8",
          "nombre": "Ana López",
          "tipoRecurso": "HUMANO",
          "unidad": "AGRUSAN",
          "comunidad": "Madrid",
          "localidad": "Pozuelo de Alarcón",
          "base": "General Cavalcanti",
          "activaciones": [
            {
              "fechaHoraInicio": "2025-01-12T08:00:00",
              "fechaHoraFin": "2025-01-12T14:30:00",
              "tipoJornada": "PARCIAL",
              "tipoSituacion": "ACTIVIDAD"
            },
            {
              "fechaHoraInicio": "2025-01-13T07:00:00",
              "fechaHoraFin": "2025-01-13T15:00:00",
              "tipoJornada": "COMPLETA",
              "tipoSituacion": "COMISION_SERVICIO"
            }
          ]
        },
        {
          "id": "hum-55ab-8821-kd92",
          "nombre": "Carlos Medina",
          "tipoRecurso": "HUMANO",
          "unidad": "AGRUSAN",
          "comunidad": "Madrid",
          "localidad": "Pozuelo de Alarcón",
          "base": "General Cavalcanti",
          "activaciones": [
            {
              "fechaHoraInicio": "2025-03-10T07:00:00",
              "fechaHoraFin": "2025-03-10T15:00:00",
              "tipoJornada": "COMPLETA",
              "tipoSituacion": "ACTIVIDAD"
            },
            {
              "fechaHoraInicio": "2025-03-11T08:30:00",
              "fechaHoraFin": "2025-03-11T14:00:00",
              "tipoJornada": "PARCIAL",
              "tipoSituacion": "FORMACION_NO_CERTIFICADA"
            }
          ]
        }
      ],
];

Ejercicio 11: Mostrar solo ciertos campos de la variable

Enunciado

Muestra únicamente un campo específico de cada elemento (por ejemplo nombre) en la lista <ul>.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Ejercicio 11 - Campos específicos</title>
</head>
<body>

  <h1>Nombres de recursos</h1>
  <ul id="recursosList"></ul>

  <script src="main.js"></script>
</body>
</html>

Ejercicio 12: Filtrar y mostrar según un criterio

Enunciado

Crea un input de texto y un botón “Filtrar”.
Cuando el usuario escriba un valor y pulse el botón, se deben mostrar solo los elementos cuya categoría coincida con el texto ingresado.

HTML base

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Ejercicio 12 - Filtrar variable</title>
</head>
<body>

  <h1>Filtrar recursos por categoría</h1>
  <input type="text" id="filterInput" placeholder="Escribe categoría">
  <button id="filterButton">Filtrar</button>

  <ul id="recursosList"></ul>

  <script src="main.js"></script>
</body>
</html>

Clone repository

Índice

  • Inicio
  • Modulo 0. Instalaciones inciales
  • Modulo 1. Sitaxis básica
  • Modulo 2. Importaciones en Javascript
  • Modulo 3. Interacción con el BOM y con el DOM
    • Ejercicios
  • Modulo 4. Uso de servicios y API REST