是否正确地向每个元素提供函数?而且我的功能还可以吗?是否将函数附加到每个元素的正确方法
<ul id='forShopping'>
<li><input class='ch' type='checkbox' onclick='isActive()'> Air-freshener</input></li>
<li><input class='ch' type='checkbox' onclick='isActive()'> Pampers</input></li>
<li><input class='ch' type='checkbox' onclick='isActive()'> Newspapper</input></li>
<li><input class='ch' type='checkbox' onclick='isActive()'> Toilet paper</input></li>
</ul>
function isActive() {
let elem = document.getElementsByTagName('input');
for(let i=0; i<elem.length; i++){
if(elem[i].checked == true){
elem[i].parentNode.style.backgroundColor = 'forestGreen';
}else{
elem[i].parentNode.style.backgroundColor = 'white';
}
}
}
它的工作方式,但我不知道它是否正确。
使用'this'和将参考当前元素。所以需要使用for循环 – Mahi
非常感谢! –