1
respuesta

Manejo de Elementos en DOM

Manejo de Elementos en DOM

Muy entrenido hasta ahora, y aplicando lo aprendido anteriormente con el proyecto TODO App

Comparto como quedo mi JS (Le agregue algunas funcionalidades extras, de la pura emocion jajaja)

    // IIFE (Immediately invoked function expression )
( () => {
    const createTask = (evento) => {
        evento.preventDefault();

        const input = document.querySelector("[data-form-input]");
        const value = input.value;

        if (value != "") {
            const list = document.querySelector("[data-list]");
            const task = document.createElement("li");
            task.classList.add("card");
            input.value = "";

            addListTask(list, task, value);
        } else {
            alert("Debe ingresar una tarea");
        }
    }

    const addListTask = (list, task, value) => {
        const taskContent = document.createElement("div");

        const titleTask = document.createElement("span");
        titleTask.classList.add("task");
        titleTask.innerText = value;
        taskContent.appendChild(checkComplete());
        taskContent.appendChild(titleTask);


        task.appendChild(taskContent);
        task.appendChild(deleteTask());
        list.appendChild(task);
    }

    const checkComplete = () => {
        const i = document.createElement("i");
        i.classList.add("far", "fa-check-square", "icon");
        i.addEventListener("click", completeTask);

        return i;
    }

    const completeTask = (event) => {
        const element = event.target;
        element.classList.toggle("fas");
        element.classList.toggle("completeIcon");
        element.classList.toggle("far");
    }

    const deleteTask = () => {
        const i = document.createElement("i");
        i.classList.add("fas", "fa-trash-alt", "trashIcon", "icon");

        return i;
    }

    // Utilizamos concepto data attributes HTML5
    const btn = document.querySelector("[data-form-btn]");

    btn.addEventListener("click", createTask);
})();
1 respuesta

Hola Daniel, espero estés muy bien.

Felicitaciones por tu aprendizaje, continúa con ese empeño. Para agilizar el tiempo de respuesta en caso de dudas relacionadas con los cursos, estamos priorizando el foro para postear dudas.

En caso que desees compartir tus ejercicios o actividades dispusimos en Discord un canal exclusivo para ese fin (#compartatucodigo)

Te dejo éste link que muestra donde puedes compartir tus actividades https://www.youtube.com/watch?v=ZhXdFO6SxQ4

Si necesitas ayuda, estaremos aquí! Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios