forked from marquez.juan/clase-8-DOM
Compare commits
6 Commits
9a5ac90ee2
...
2942fcc19b
| Author | SHA1 | Date | |
|---|---|---|---|
| 2942fcc19b | |||
| 75673693d3 | |||
| f5b49ebb4e | |||
| e81cb41d35 | |||
| c3e007517d | |||
| 5ae50b32bb |
@@ -1,5 +1,7 @@
|
|||||||
// Vincular este archivo al archivo index.html, y resolver aquí los ejercicios.
|
// Vincular este archivo al archivo index.html, y resolver aquí los ejercicios.
|
||||||
|
|
||||||
|
//EJERCICIO 1
|
||||||
|
|
||||||
function cambiarPrimerTitulo() {
|
function cambiarPrimerTitulo() {
|
||||||
// 1. Selecciono el primer h1 de la página usando querySelector
|
// 1. Selecciono el primer h1 de la página usando querySelector
|
||||||
const titulo = document.querySelector("h1");
|
const titulo = document.querySelector("h1");
|
||||||
@@ -16,3 +18,133 @@ function cambiarPrimerTitulo() {
|
|||||||
|
|
||||||
//Verificar llamando a la funcion en consola
|
//Verificar llamando a la funcion en consola
|
||||||
//cambiarPrimerTitulo()
|
//cambiarPrimerTitulo()
|
||||||
|
|
||||||
|
//EJERCICIO 2
|
||||||
|
|
||||||
|
function aplicarEstiloALista() {
|
||||||
|
// 1. Selecciono todos los elementos <li> 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 <li> 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 <li> 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.");
|
||||||
|
}
|
||||||
|
|||||||
13
estilo.css
13
estilo.css
@@ -41,7 +41,7 @@ h1 {
|
|||||||
background: white;
|
background: white;
|
||||||
padding: 30px;
|
padding: 30px;
|
||||||
border-radius: 18px;
|
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;
|
transition: all 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,6 +93,11 @@ h1 {
|
|||||||
border-color: #4a90e2;
|
border-color: #4a90e2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.item-lista {
|
||||||
|
color: green;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
/* Clase para agregar/quitar desde JS */
|
/* Clase para agregar/quitar desde JS */
|
||||||
.lista-comidas.resaltada li {
|
.lista-comidas.resaltada li {
|
||||||
background: #fff4d6;
|
background: #fff4d6;
|
||||||
@@ -111,7 +116,7 @@ h1 {
|
|||||||
display: block;
|
display: block;
|
||||||
margin: 30px auto 0 auto;
|
margin: 30px auto 0 auto;
|
||||||
border-radius: 16px;
|
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;
|
transition: all 0.35s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,7 +124,7 @@ h1 {
|
|||||||
#foto.zoom {
|
#foto.zoom {
|
||||||
transform: scale(1.08) rotate(-1deg);
|
transform: scale(1.08) rotate(-1deg);
|
||||||
filter: saturate(1.4);
|
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 {
|
#parrafos {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user