Javascript 具有唯一值的待办事项列表
我想要一个用于简单待办事项列表的香草javaScript,它检查该项是否已经存在,并且仅当它不存在时才添加一个列表项 如果列表项不是唯一的,我可以添加列表项。甚至可以在项目存在时设置警报,但在创建新项目时会中断Javascript 具有唯一值的待办事项列表,javascript,Javascript,我想要一个用于简单待办事项列表的香草javaScript,它检查该项是否已经存在,并且仅当它不存在时才添加一个列表项 如果列表项不是唯一的,我可以添加列表项。甚至可以在项目存在时设置警报,但在创建新项目时会中断 var按钮=document.getElementById(“回车”); var input=document.getElementById(“userinput”); var ul=文件查询选择器(“ul”); 函数inputLength(){ 返回input.value.lengt
var按钮=document.getElementById(“回车”);
var input=document.getElementById(“userinput”);
var ul=文件查询选择器(“ul”);
函数inputLength(){
返回input.value.length;
}
函数createListElement(){
var li=document.createElement(“li”);
appendChild(document.createTextNode(input.value));
ul.儿童(li);
input.value=“”;
}
addEventListener(“单击”,函数(){
var list items=ul.querySelectorAll('li');
对于(变量i=0;i0){
createListElement();
}
}
});代码>
不返回数组,因此不能对其使用for
。改用forEach
另外,您的if
语句有点奇怪,因此我将其分成一个循环,在循环结束后使用条件插入来检查值:
var按钮=document.getElementById(“回车”);
var input=document.getElementById(“userinput”);
var ul=文件查询选择器(“ul”);
函数inputLength(){
返回input.value.length;
}
函数createListElement(){
var li=document.createElement(“li”);
appendChild(document.createTextNode(input.value));
ul.儿童(li);
input.value=“”;
}
addEventListener(“单击”,函数(){
var list items=ul.querySelectorAll('li');
var=false;
forEach(函数(listItem){
if(listItem.innerText==input.value){
存在=真;
警报(“项目已存在”);
}
})
如果(!存在){
createListElement();
}
});代码>
需要在之外进行循环,并匹配chack,然后将其保存到变量中,以便调用函数
else if (inputLength() > 0) {
createListElement();
}
var按钮=document.getElementById(“回车”);
var input=document.getElementById(“userinput”);
var ul=文件查询选择器(“ul”);
函数inputLength(){
返回input.value.length;
}
函数createListElement(){
var li=document.createElement(“li”);
appendChild(document.createTextNode(input.value));
ul.儿童(li);
input.value=“”;
}
addEventListener(“单击”,函数(){
var list items=ul.querySelectorAll('li');
让match=false;
对于(变量i=0;i
我能够使用for循环使代码正常工作。请更正,但我看到querySelectorAll返回数组。很高兴听到。根据MDN,querySelectorAll。这有点类似于数组,因为它具有类似的属性,如.length
和方法,如.forEach
。