I want to make a drag-and-drop application were the drpzone-fields are variable (JS -> foreach). The code workes on the manually created elements (HTML-code).
But when I tried to create a dropzone element in JS it does not work.
I do not know why it does not work.
<div class="dropzone">
    <img id="draggable" src="https://cdn.pixabay.com/photo/2020/12/02/01/06/chipmunk-5795916__340.jpg" draggable="true" width="100" height="35">
</div>
<br/><br/><br/>
<div id="timetable">
    <div class="dropzone"></div>
    <div class="dropzone"></div>
    <div class="dropzone"></div>
</div>
<style>
    body {
        user-select: none;
    }
    #draggable {
        text-align: center;
        background: white;
    }
    .dropzone {
        width: 100px;
        height: 40px;
        background: lightblue;
        margin: 10px;
        padding: 10px;
    }
</style>
<script type='text/javascript'>
    let dragged = null;
    const source = document.getElementById("draggable");
    source.addEventListener("dragstart", (event) => {
        dragged = event.target;
    });
    const target = document.querySelectorAll(".dropzone");
    target.forEach(function (item) {
        item.addEventListener("dragover", (event) => {
            event.preventDefault();
        });
        item.addEventListener("drop", (event) => {
            event.preventDefault();
            if (event.target.className === "dropzone") {
                dragged.parentNode.removeChild(dragged);
                event.target.appendChild(dragged);
            }
        });
    });
    window.onload = () =>{
        createTimetable();
    }
    const createTimetable = () => {
        const ele = document.createElement("div");
        ele.className ="dropzone";
        document.getElementById("timetable").append(ele);
    }
</script>
