我正在处理TODO
列表。在收到用户输入后,我还希望用户可以选择单击已完成的任务并使Javascript应用line-through
样式。
这是我的代码:
document.addEventListener('click', function(){
var finish = document.getElementById('div');
finish.style.setProperty("text-decoration", "line-through");
});
此时,点击事件有效,但line-through
样式仅适用于最顶层的任务。
循环访问任务列表的最佳方法是什么,以便可以将样式应用于所有人。这是一张图片来说明。
我是Javascript的新手。
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
你可能想要这样的东西:
http://jsfiddle.net/L1awL7rw/1/
document.getElementById('test').addEventListener('click', function(){
if(event.target.tagName=='LABEL'){
event.target.setAttribute('class','strike');
}
});
我点了几个label
元素,点击它们,添加了一个类strike
,它应用了CSS规则text-decoration:line-through
。如果您共享了一些HTML代码,那么根据您的要求,答案会更具体。
此外,正如您要求循环遍历每个元素并使用addEventListener
附加侦听器一样,我发现这种方法并不像Event Delegation
那样令人敬畏。