我正在做类似的事情来做清单'。我想在任务上删除文本,但它没有工作,所以我尝试了背景颜色或其他东西。 `
for(var i=0; i<document.getElementsByClassName('task').length; i++){
document.getElementsByClassName('task')[i].onclick = function(){
this.parentElement.backgroundColor = 'pink';
}
}`
在此之前,我要创建具有“任务”功能的新元素。类。 有人知道我做错了什么?
答案 0 :(得分:1)
所以它必须是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);
}
&#13;
.task { cursor: pointer; }
&#13;
<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>
&#13;
答案 1 :(得分:0)
this.style
怎么样?
for(var i=0; i<document.getElementsByClassName('task').length; i++){
document.getElementsByClassName('task')[i].onclick = function(){
this.style.backgroundColor = 'pink';
}
}