Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

189
Visualizações
nodeList is empty in javascriptl using javascript when selecting classes using javascript using queySelectorAll

Link to javascript code

Link to my Object

For HTML I have only a simple div with a 'works' class and want to generate a list of cards dynamically. For now, I can access other classes easily using selectors in javascript but I am unable to select the class that I have in javascript function. What can I do to solve this problem?

    const handleGetJson = () => {
  const work = document.getElementById('works');

  fetch(`data.json`, {
    headers: {
      'Content-Type': 'application/json',
      Accept: 'application/json',
    },
  })
    .then((response) => response.json())
    .then((messages) => {
      const data = Object.values(messages);

      let container = '';

      data.forEach((item) => {
        const {
          title,
          description,
          technologies,
          image,
          link,
          linkText,
          link2,
          linkText2,
          id,
        } = item;

        const techno = Object.values(technologies);
        container =
          container +
          `
          <div class="card-${id}">
        <div class="card-1-2">
        <div class="image-container${id}"></div>
      </div>
      <div class="card-1-1">
        <h2 class="titre">${title}</h2>
        <ul>
          <li class="cano">CANOPY</li>
          <li class="dot empty"></li>
          <li class="dot">Back End Dev</li>
          <li class="dot empty"></li>
          <li class="dot">2015</li>
        </ul>
        <p class="desc">
          ${description}
        </p>
        <ul class="skills">
          <li>${techno[0]}</li>
          <li>${techno[1]}</li>
          <li>${techno[2]}</li>
          <li>${techno[3]}</li>
        </ul>
        <button type="button" class="btn-tonic">See project</button>
      </div>
      </div>
        `;
        work.innerHTML = container;
      });
    });
};
handleGetJson();

// pop up modal

const close = document.getElementsByClassName('close-modal')[0];
const modal = document.getElementById('popup');
const btn = document.querySelectorAll('.btn-tonic'); // unable to get all the buttons in the dynamically generated cards get all buttons

console.log(btn); // empty Nodelist




// HTML CODES

<section id="works" class="works"></section>
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda