Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
Javascript HTML DOM for dynamic element- Uncaught TypeError: Cannot set properties of undefined

I'm trying to change the background color of dynamic html elements, but the console shows 'Uncaught TypeError: Cannot set properties of undefined'.

Here's my full JS code:

 function showQuestion(){
    for(let i = 0; i < QuesPartA.length; i++){
      $(".questionBox").append('<div class="Question">Number '+ parseInt(i+1) +'</div>');
      QuesPartA[i]['option'].forEach(option => {
          $(".questionBox").append('<span class="pilihan">'+option +' </span><br>');  
      });
     
  } 
  $(".secondBox").append('<a href="Listening Part A.html" class="btnToPartB">Continue to Part B</a>');
};

$(".questionBox").on("click", "span.pilihan", function() {
  const choice = document.getElementsByClassName(".pilihan")
  choice.style.backgroundColor = "red";
});

I want to change the background color of .pilihan to be red when the user clicks, but such message appear on the console. Is this because the .pilihan is a dynamic element?

I appreciate every help.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!