Javascript 选中输入[type=';radio';]时更改标签的背景色

Javascript 选中输入[type=';radio';]时更改标签的背景色,javascript,css,Javascript,Css,当选中输入[type='radio']时,我试图更改标签的背景色。这是我的HTML: <div class="type"> <ul id="id_type"> <li><label for="id_type_0"><input type="radio" name="type" value="inc" required="" id="id_type_0" checked=""> Income</label&g

当选中输入[type='radio']时,我试图更改标签的背景色。这是我的HTML:

<div class="type">
  <ul id="id_type">
    <li><label for="id_type_0"><input type="radio" name="type" value="inc" required="" id="id_type_0" checked="">
      Income</label>
    </li>
    <li><label for="id_type_1"><input type="radio" name="type" value="exp" required="" id="id_type_1">
      Expense</label>
    </li>
  </ul>
</div>
但是没有成功

我怎样才能克服这个问题


我无法更改HTML,它是由Django生成的。

因为您在标签内的无线电输入。检查这个

var inputs=document.querySelectorAll(“input[type=radio]”;
数组.from(输入).forEach(函数(elem){
元素addEventListener('change',函数(a){
数组.from(输入).forEach(函数(z){
if(z.parentNode.classList.contains(“yourClass”)){
z、 parentNode.classList.remove(“yourClass”)
}
});
a、 target.parentNode.classList.add(“yourClass”);
})
});
.yourClass{
背景色:#E0;
}

  • 收入
  • 费用

因为标签内有无线电输入。检查这个

var inputs=document.querySelectorAll(“input[type=radio]”;
数组.from(输入).forEach(函数(elem){
元素addEventListener('change',函数(a){
数组.from(输入).forEach(函数(z){
if(z.parentNode.classList.contains(“yourClass”)){
z、 parentNode.classList.remove(“yourClass”)
}
});
a、 target.parentNode.classList.add(“yourClass”);
})
});
.yourClass{
背景色:#E0;
}

  • 收入
  • 费用
.type输入[type=radio]:选中+标签{
背景色:#E0;;
}

  • 收入
  • 费用
.type输入[type=radio]:选中+标签{
背景色:#E0;;
}

  • 收入
  • 费用

我无法更改HTML,它是由Django生成的。我无法更改HTML,它是由Django生成的。
.type input[type=radio]:checked ~ label {
  background-color:#e0e0e0;
}