18910140161

JavaScript-如何仅更改许多迭代动态元素的单击元素的颜色-堆栈溢出

顺晟科技

2022-10-18 13:21:37

135

我正在尝试将动态HTML元素(span.pilihan)的背景颜色更改为红色(当用户单击它们时)。

<代码>函数showQuestion(){对于(令I=0;我<;Quesparta.长度;我++){$(";.questionBox";)。Append('<;DIV类=";问题";>;编号'+parseInt(I+1)+'<;/DIV>;');Quesparta[I][' option '].Foreach(option=>;{$(";.questionBox";)。APPEND('<;span类=";Pilihan";>;'+选项+'<;/span>;<;br>;');});}$(";.secondbox";)。APPEND(<;a href=";监听部分a.HTML";类=";btnToPartB";>;继续B<;/A>;部分);};

但我只想点击改变颜色的那个,而不是所有的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>'); }; 。我已经尝试了一些方法,但最终要么将所有span.pilihan更改为红色,要么根本不更改。有什么想法如何有效地做到这一点?

谢谢了.


顺晟科技:

您可以使用jQuery事件来获取click元素。就像下面:

<代码>$(()=>;{生成问题(1);});Var Q=1;函数generateQuestion(num){Var question=document.createElement(“ span ”);question.innerHTML=“ question ”+num;document.body.append(问题);}$(“ body ”).on(“ click ”,“ span ”,function(){$(this).CSS(“背景”,“红色”);Q++;生成问题(Q);});
<代码>span{游标:指针;}
<代码><;script SRC=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js ”>;<;/script>;

编辑:现在委托

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航