diff --git a/ejercicios-clase-8.js b/ejercicios-clase-8.js
index af39c43..aef9cc8 100644
--- a/ejercicios-clase-8.js
+++ b/ejercicios-clase-8.js
@@ -1 +1,189 @@
// Vincular este archivo al archivo index.html, y resolver aquí los ejercicios.
+
+//EJERCICIO 1
+
+function cambiarPrimerTitulo() {
+ // 1. Selecciono el primer h1 de la página usando querySelector
+ const titulo = document.querySelector("h1");
+
+ // 2. Verifico que el elemento exista para evitar errores
+ if (titulo) {
+ // 3. Cambio su contenido de texto
+ titulo.textContent = "¡Texto cambiado con JavaScript!";
+ console.log("El título ha sido modificado exitosamente.");
+ } else {
+ console.log("No se encontró ningún elemento
en la página.");
+ }
+}
+
+//Verificar llamando a la funcion en consola
+//cambiarPrimerTitulo()
+
+//EJERCICIO 2
+
+function aplicarEstiloALista() {
+ // 1. Selecciono todos los elementos
de la página
+ const items = document.querySelectorAll("li");
+
+ // 2. Recorro la lista de elementos usando for...of
+ for (const item of items) {
+ // 3. Agrego la clase "item-lista" a cada elemento
+ item.classList.add("item-lista");
+ }
+ console.log("Clase agregada a todos los elementos de la lista.");
+}
+
+//Verificar llamando a la funcion en consola
+//aplicarEstiloALista()
+
+
+//EJERCICIO 3
+
+function agregarItem(texto) {
+ // 1. Selecciono la lista usando su id (#lista-inicial)
+ const lista = document.querySelector("#lista-inicial");
+
+ // 2. Creo el nuevo elemento en memoria
+ const nuevoLi = document.createElement("li");
+
+ // 3. Le asigno el texto recibido por parámetro
+ nuevoLi.textContent = texto;
+
+ // 4. Verifico si la lista existe y lo agrego al final
+ if (lista) {
+ lista.appendChild(nuevoLi);
+ } else {
+ console.log("Error: No se encontró la lista con id='lista-inicial'");
+ }
+}
+
+//Verificar llamando a la funcion en consola
+//agregarItem("Chinchulines")
+
+//EJERCICIO 4
+
+// 1. Selecciono todos los párrafos que son descendientes del div con id "parrafos"
+const parrafos = document.querySelectorAll("#parrafos p");
+
+// 2. Recorro la lista de elementos
+for (const p of parrafos) {
+ // 3. Verifico si el texto del párrafo incluye la palabra "importante"
+ // Usamos el método .includes() de los strings de JavaScript
+ if (p.textContent.includes("importante")) {
+ // 4. Si la contiene, agregamos la clase "destacado" sin pisar las existentes
+ p.classList.add("destacado");
+ }
+}
+
+//EJERCICIO 5
+
+function agregarSeccionLitoral() {
+ // 1. Creo el contenedor principal
+ const contenedorComidas = document.createElement("div");
+
+ // 2. Creo y configuro el título h2
+ const titulo = document.createElement("h2");
+ titulo.textContent = "Comidas Típicas del Litoral";
+
+ // 3. Creo y configuro el párrafo introductorio
+ const parrafo = document.createElement("p");
+ parrafo.textContent = "La gastronomía del litoral argentino se destaca por sus platos a base de pescados de río y la influencia de la cultura guaraní.";
+
+ // 4. Creo la lista y sus elementos
+ const lista = document.createElement("ul");
+ const platos = ["Surubí a la parrilla", "Pacú frito", "Chipa", "Sopa paraguaya"];
+
+ for (const plato of platos) {
+ const item = document.createElement("li");
+ item.textContent = plato;
+ lista.appendChild(item);
+ }
+
+ // 5. Armo la estructura: meto el h2, el p y la ul dentro del div
+ contenedorComidas.appendChild(titulo);
+ contenedorComidas.appendChild(parrafo);
+ contenedorComidas.appendChild(lista);
+
+ // 6. Finalmente, inserto el div completo al final del body de la página
+ document.body.appendChild(contenedorComidas);
+
+ console.log("Sección del litoral agregada exitosamente.");
+}
+
+//Verificar llamando a la funcion en consola
+//agregarSeccionLitoral()
+
+
+//EJERCICIO 6
+
+function limpiarLista(idDeLista) {
+ // 1. Selecciono todos los que son hijos de la lista con el id pasado por parámetro
+ // Usamos el símbolo # para indicar que buscamos un ID
+ const items = document.querySelectorAll("#" + idDeLista + " li");
+
+ // 2. Recorro la lista de elementos (NodeList) usando for...of
+ for (const item of items) {
+ // 3. Elimino cada elemento del DOM
+ item.remove();
+ }
+ console.log("Todos los items de la lista '" + idDeLista + "' han sido eliminados.");
+}
+
+//Verificar llamando a la funcion en consola
+//limpiarLista("lista-inicial")
+
+
+//EJERCICIO 7
+
+// 1. Selecciono el elemento por su id usando el símbolo #
+const imagen = document.querySelector("#foto");
+
+// 2. Verifico que el elemento exista para evitar errores
+if (imagen) {
+ // 3. Modifico el atributo 'src'
+ imagen.setAttribute("src", "foto2.jpg");
+
+ // 4. Modifico el atributo 'alt'
+ imagen.setAttribute("alt", "Locro");
+
+ console.log("Atributos de la imagen actualizados.");
+}
+
+
+//EJERCICIO 8
+
+function construirLista(elementos) {
+ // Validar que el array contenga elementos
+ if (!elementos || elementos.length === 0) {
+ return document.createElement('div');
+ }
+
+ // Separo el primer elemento para el título y el resto para los ítems
+ const [tituloTexto, ...items] = elementos;
+
+ // Creo el contenedor principal
+ const divContenedor = document.createElement('div');
+ divContenedor.className = 'grupo-comidas';
+
+ // Creo y asigno el título (h2)
+ const h2Titulo = document.createElement('h2');
+ h2Titulo.textContent = tituloTexto;
+ divContenedor.appendChild(h2Titulo);
+
+ // Creo la lista (ul)
+ const ulLista = document.createElement('ul');
+
+ // Recorro los ítems restantes y creo los li
+ items.forEach(textoItem => {
+ const liItem = document.createElement('li');
+ liItem.textContent = textoItem;
+ ulLista.appendChild(liItem);
+ });
+
+ // Agrego la lista al contenedor
+ divContenedor.appendChild(ulLista);
+
+ return divContenedor;
+}
+
+const nuevaListaComida = construirLista(["Carnes", "Churrasco", "Asado con cuero", "Colita de cuadril"]);
\ No newline at end of file
diff --git a/estilo.css b/estilo.css
index fcb26fc..b114495 100644
--- a/estilo.css
+++ b/estilo.css
@@ -41,7 +41,7 @@ h1 {
background: white;
padding: 30px;
border-radius: 18px;
- box-shadow: 0 8px 25px rgba(0,0,0,0.08);
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
}
@@ -93,6 +93,11 @@ h1 {
border-color: #4a90e2;
}
+.item-lista {
+ color: green;
+ font-weight: bold;
+}
+
/* Clase para agregar/quitar desde JS */
.lista-comidas.resaltada li {
background: #fff4d6;
@@ -111,7 +116,7 @@ h1 {
display: block;
margin: 30px auto 0 auto;
border-radius: 16px;
- box-shadow: 0 10px 25px rgba(0,0,0,0.15);
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
transition: all 0.35s ease;
}
@@ -119,7 +124,7 @@ h1 {
#foto.zoom {
transform: scale(1.08) rotate(-1deg);
filter: saturate(1.4);
- box-shadow: 0 18px 40px rgba(0,0,0,0.25);
+ box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
}
/* =========================
@@ -175,4 +180,4 @@ h1 {
#parrafos {
padding: 20px;
}
-}
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index 0c393ac..64e23af 100644
--- a/index.html
+++ b/index.html
@@ -31,5 +31,6 @@
¿Y este párrafo? ¿Será importante?
Este es otro párrafo del montón.
+