首页 > 解决方案 > 用于动态元素的 Javascript HTML DOM - 未捕获的类型错误:无法设置未定义的属性

问题描述

我正在尝试更改动态 html 元素的背景颜色,但控制台显示“未捕获的类型错误:无法设置未定义的属性”。

这是我的完整 JS 代码:

 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";
});

我想.pilihan在用户单击时将背景颜色更改为红色,但控制台上会出现此类消息。这是因为.pilihan是动态元素吗?

我感谢每一个帮助。

标签: javascripthtmljquery

解决方案


推荐阅读