Estoy tratando de cambiar el color de fondo de los elementos html dinámicos ( span ) cuando el usuario hace clic en ellos.
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() { Array.from(document.getElementsByClassName("pilihan")) .forEach((element) => element.style.backgroundColor = "red"); }); Sin embargo, solo quiero hacer clic en el que cambia de color, no todo span.pilihan , pero mi código anterior cambia el color para que sea rojo.
¿Alguna idea?
Escribe esto:
$(".questionBox").on("click", ".pilihan", function() { $(this).css("background", "red"); });