我正在做类似'要做列表'之类的事情。我想在任务上删除文本,但它不起作用,所以我尝试了WTIH背景颜色或其他内容。
for(var i=0; i<document.getElementsByClassName('task').length; i++){
document.getElementsByClassName('task')[i].onclick = function(){
this.parentElement.backgroundColor = 'pink';
}
}`
在此之前,我正在创建具有"任务"类的新元素。有人知道我在做什么错?
,因此必须是 parentNode
,并且需要修改元素的 style
。我也建议使用addEventListener
,因为它是将事件绑定到元素的最可靠的方法。
var tasks = document.getElementsByClassName('task');
for (var i = 0, len = tasks.length; i < len; i++) {
tasks[i].addEventListener('click', function() {
this.parentNode.style.backgroundColor = 'pink';
}, false);
}
.task { cursor: pointer; }
<ul>
<li><span class="task">Task 1</span></li>
<li><span class="task">Task 2</span></li>
<li><span class="task">Task 3</span></li>
<li><span class="task">Task 4</span></li>
<li><span class="task">Task 5</span></li>
</ul>
this.style
?
for(var i=0; i<document.getElementsByClassName('task').length; i++){
document.getElementsByClassName('task')[i].onclick = function(){
this.style.backgroundColor = 'pink';
}
}
https://codepen.io/anon/pen/rjgxnr