Nin*_*sen 0 javascript for-loop addeventlistener
我正在尝试让事件侦听器为在循环内创建的类工作。我无法让它工作,有什么建议吗?
window.onload = function(){
var div = document.createElement('div'),
container = document.getElementById('container'),
classname = document.getElementsByClassName("hello");
div.className = 'hello';
var tasks = [
'One',
'Two',
'Three',
'Four'
];
for (var i = 0; i < tasks.length; ++i) {
container.innerHTML += '<div class="hello"><p>' + tasks[i] + '</p></div>';
}
classname.addEventListener('click', function(){
this.className = 'done';
});
console.log(classname);
};
Run Code Online (Sandbox Code Playgroud)
classname是一个NodeList,addEventListener是单个节点的方法。您需要遍历元素:
for (i = 0; i < classname.length; i++) {
classname[i].addEventListener('click', function() {
this.className = 'done';
});
}
Run Code Online (Sandbox Code Playgroud)