我呼吁点击的功能附加的className。该函数具有一个if/else内部,用于检查父级的className。在真的我删除类,错误我添加一个类。但它只在第一个列表项中工作。它不设置类编辑表。的Javascript不是if语句
可能是什么问题?
var editTask = function(elem) {
if (elem.parentNode.className !== 'edittable') {
elem.childNodes[0].innerHTML = 'Done';
elem.parentNode.className = 'edittable';
} else if (elem.parentNode.className === 'edittable') {
var setTask = elem.previousSibling.previousSibling.value;
var taskTarget = elem.previousSibling;
taskTarget.innerHTML = setTask;
elem.childNodes[0].innerHTML = 'Edit';
elem.parentNode.className = '';
}
}
您可以在这里看到的活生生的例子:
li.innerHTML += '<span class="editTask" onclick="editTask(this)"><small>Edit</small></span><span class="deleteTask"><small>Delete</small></span>'; // edit & delete buttons
如何要绑定事件,这些元素? –
@RajaprabhuAravindasamy在for循环中。看到这里-rule91-HTTPS://jsfiddle.net/vbjfbr57/ –
你有你的addTask函数中一个奇怪的结构。您已经有权访问新的li元素。只需将事件侦听器直接添加到li即可。根本不需要for循环。 – Prashant