Dash and assets/script.js doesn't work fine

Hi!
I’m doing a portofolio with dash,

so, i use a lot of sass and js for making pretty.

but i have a problem.

on my assets/script.js have

    const menuIcon = document.querySelector('#menu-icon');
    const navbar = document.querySelector('.navbar');

    console.log(menuIcon);
    console.log(navbar);

    menuIcon.onclick = () => {
        menuIcon.classList.toggle('bx-x');
        navbar.classList.toggle('active');
    };

and get this error:


null
null
sripts.js:12 Uncaught TypeError: Cannot set properties of null (setting 'onclick')
    at scripts.js:12:18

if i set a timer, works fine:

/*==== toggle navbar icon =====*/
setTimeout(() => {

    const menuIcon = document.querySelector('#menu-icon');
    const navbar = document.querySelector('.navbar');

    console.log(menuIcon);
    console.log(navbar);

    menuIcon.onclick = () => {
        menuIcon.classList.toggle('bx-x');
        navbar.classList.toggle('active');
    };
}, 1000); 

Log:

<i id="menu-icon" class="bx bx-menu"></i>
<nav class="navbar"><a class="active" href="#home">Home</a><a href="#about">About</a><a href="#services">Services</a><a href="#portofolio">Portofolio</a><a href="#contact">Contact</a></nav>

so, what i have to do?