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

122
Visualizações
How i can use "querySelectorAll"?

My html:

<label for="answer_1" class="answer_label"><input type="radio" id="answer_1">Answer</label>
<label for="answer_2" class="answer_label"><input type="radio" id="answer_2">Answer</label>
<label for="answer_3" class="answer_label"><input type="radio" id="answer_3">Answer</label>

My JS:

var answers = ["Answer_1","Answer_2","Answer_3"];
var answer_labels = document.querySelectorAll(".answer_label");
for (var i = 0; i < answers.length; i++){
    answer_labels[i].innerText = answers[i]
}

When I want to set text to my labels, I get error:

Uncaught TypeError: Cannot set properties of undefined (setting 'innerText')

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

0

You have a syntax error in the for loop.

change for (var i = 0; i < .length; i++)

to for (var i = 0; i < answer_labels.length; i++)

var answers = ["Answer_1","Answer_2","Answer_3"]
var answer_labels = document.querySelectorAll(".answer_label");
for (var i = 0; i < answer_labels.length; i++){
    answer_labels[i].innerText = answers[i];
}
  <label for="answer_1" class="answer_label"><input type="radio" name="choice" id="answer_1">Answer</label>
        <label for="answer_2" class="answer_label"><input type="radio" name="choice" id="answer_2">Answer</label>
        <label for="answer_3" class="answer_label"><input type="radio" name="choice" id="answer_3">Answer</label>

about 4 years ago · Juan Pablo Isaza Relatório

0

If you just want to replace the labels without destroying the radio button inputs inside you should maybe do something like this:

var answers = ["Answer_1","Answer_2","Answer_3"]
document.querySelectorAll(".answer_label").forEach((l,i)=>{
  l.innerHTML=l.querySelector("input").outerHTML+answers[i];
})
<label for="answer_1" class="answer_label"><input type="radio" name="choice" id="answer_1">Answer</label>
<label for="answer_2" class="answer_label"><input type="radio" name="choice" id="answer_2">Answer</label>
<label for="answer_3" class="answer_label"><input type="radio" name="choice" id="answer_3">Answer</label>

about 4 years ago · Juan Pablo Isaza Relatório

0

the problem was that I did not specify "<!DOCTYPE html>" in html file...

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