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

382
Views
Onclick, Highlight only one list item in an Unordered list

I am following a code to make a quiz. I am building a function to highlight one list item and add a class to it.

function chooseAnswer(){
    answer.querySelectorAll('li').forEach((option)=> { 
    option.addEventListener('click',()=>{
        if(answer.querySelector('.selected')){
            let activeAnswer=answer.querySelector('.selected');
            activeAnswer.classList.remove('selected') 
        }else
        option.classList.add('selected')
})

The code is working but i do not understand the if condition from the source. Can someone help?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

if(answer.querySelector('.selected')) statement is used to check whether there are any elements of answer, which have the .selected class

about 4 years ago · Juan Pablo Isaza Report

0

answer.querySelector('.selected') will return the element with .selected class if it exists within the answer element.

If there is no .selected class within the answer element, it will return null.

In this code:

if(answer.querySelector('.selected')){
            ---
   }else
        option.classList.add('selected')

If the if condition is null that means there was no .selected element found. So the else block gets executed and it adds a .selected class to option.

But if there was a .selected class inside the answer element, the if condition would be truthy and would execute. Removing the .selected class.

about 4 years ago · Juan Pablo Isaza Report
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!