因此,我正在使用html,css和javascript制作待办事项列表,并且在大多数情况下都可以正常工作,但是创建的元素(即在网页上创建的待办事项)不受我的javascript代码影响。
我试图绕过变量,以为它没有存储新元素,但是我检查了控制台。
var li = document.getElementsByClassName("todo");
var but1 = document.getElementById("but1");
var input = document.getElementById("inp");
var ul = document.getElementsByTagName("ul")[0];
function Addon(){
var li = document.createElement("li");
li.appendChild(document.createTextNode(input.value + " "));
li.classList.add("todo");
ul.appendChild(li);
input.value = "";
}
function AddonClick(){
if(input.value.length > 0){
Addon();
}
}
but1.addEventListener("click", AddonClick);
for(var i = 0; i < li.length; i++){
li[i].addEventListener("click",Doneclass);
}
function Doneclass(event){
event.target.classList.toggle("done");
}
done类在文本中添加了透彻的效果, 现有的li元素已经具有todo类,并且strikethough可以正确使用它们,但是添加到网页本身中的元素不会获得删除线效果。