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

212
Visualizações
Grab multiple elements with the same class name using a JS Variable in GTM

I want to grab all of these elements with a GTM variable so that I could send all the product names to Google Analytics whenever a person enters this section of the site.

Inspect Element

I've tried using the DOM element variable, a JS variable with document.getElementByClassName and document.querySelector and querySelectorAll, however all of these return the value of null. I am not that experienced with JS, what am I doing wrong?

Thanks in advance :^)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Edit:

I made a clone from your picture. You can see there are 3 items on the page.
I use grabNames` function to return an array of these 3 items' names.

So, you can copy grabNames function to your GTM custom javascript page.

function grabName() {
  var elems = document.querySelectorAll('.name');  // return elements class = name
  var prodctList = [];  // make a new array
  for (let i = 0; i < elems.length; i ++) // loop entire elems and push each elem name to the list
    prodctList.push(elems[i].innerText); 
  return prodctList; // return array
}

var arr = grabName();
console.log(arr)
.details {
  margin-bottom: 15px;
  padding: 5px;
  border: 1px solid black;
}
<div class="details">
  <div class="summary">
    <div class="summary__item">
      <a class="name">
        prodct name 1
      </a>
    </div>
  </div>
</div>
<div class="details">
  <div class="summary">
    <div class="summary__item">
      <a class="name">
        prodct name 2
      </a>
    </div>
  </div>
</div>
<div class="details">
  <div class="summary">
    <div class="summary__item">
      <a class="name">
        prodct name 3
      </a>
    </div>
  </div>
</div>


I'm not sure how you wrote your code. any error message?

I think the code below should works

document.getElementByClassName('name');

// or

document.querySelectorAll('.name');

You can see these post:

  1. Document.getElementsByClassName()
  2. Document.querySelectorAll()
about 4 years ago · Juan Pablo Isaza Relatório
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