如何在循环中删除文本

时间:2018-02-15 15:15:32

标签: javascript

我正在做类似的事情来做清单'。我想在任务上删除文本,但它没有工作,所以我尝试了背景颜色或其他东西。 `

for(var i=0; i<document.getElementsByClassName('task').length; i++){
    document.getElementsByClassName('task')[i].onclick = function(){
        this.parentElement.backgroundColor = 'pink';
    }
}`

在此之前,我要创建具有“任务”功能的新元素。类。 有人知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

所以它必须是parentNode,你需要修改元素style。另外,我建议使用addEventListener,因为它是将事件绑定到元素的最可靠方法。

&#13;
&#13;
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;
&#13;
&#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';
    }
}

https://codepen.io/anon/pen/rJGXNr