I want to select the icon with the id='home-i' and give at an on-click effect; however, when I use document.querySelector('left-navbar nav'); it returns as null. I am using a basic javascript custom element, which appears to be causing the problem.
I have tried using shadowRoot and using a setTimeout trick as shown in this post. Both methods didn't seem to work.
The <left-navbar></left-navbar> is the custom element.
  <body>
        <main>
            <!-- Heading -->
            <h1 id='reading-heading'>Chapter 1</h1>
            <!-- Navigation Bar -->
            <left-navbar></left-navbar>
Custom component
class Navbar extends HTMLElement {
    connectedCallback() {
        setTimeout(() => {
            this.innerHTML = `
            <nav id='navbar'>
                <i class="fas fa-home" id='home-i'></i>
                <hr class="line">
                <i class="fas fa-arrow-alt-circle-left" id='back-i'></i>
                <i class="fas fa-brain"></i>
                <i class="fas fa-lightbulb" id='quiz-i'></i>
                <i class="fas fa-sign-out-alt" id='exit-i'></i>
            </nav>
            `
        });
    }
}
customElements.define('left-navbar', Navbar)
Javascript using query selector
const homeBtn = document.querySelector('left-navbar nav');
homeBtn.addEventListener('click', () => {
    window.location.href = 'index.html';
    changePageTitle(0);
})
 
    