NovichokJS,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
ul {
list-style: none;
width: 240px;
}
.list__item_done {
background-image: -webkit-linear-gradient(left, #0000CD, #FF0000);
background-image: linear-gradient(to right, #0000CD, #FF0000);
color: #FFFFFF;
}
</style>
<script>
/* делегирование */
document.addEventListener("DOMContentLoaded", function() {
let ul = document.querySelector(".list");
ul.addEventListener("change", function({
target
}) {
target.closest("li").classList.toggle("list__item_done", target.checked)
})
})
/* цикл */
/* document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll(".list li").forEach(li =>
li.addEventListener("change", function({
target
}) {
li.classList.toggle("list__item_done", target.checked)
}))
})*/
</script>
</head>
<body>
<ul class="list">
<li class="list__item"><input type="checkbox" class="list__item-checkbox">Buy milk</li>
<li class="list__item"><input type="checkbox" class="list__item-checkbox">Pick up Tom from airport</li>
<li class="list__item"><input type="checkbox" class="list__item-checkbox">Visit party</li>
</ul>
</body>
</html>