我想使用javascript从UL列表中删除列表项

我想使用javascript从UL列表中删除列表项,javascript,html,Javascript,Html,我想在每个列表项旁边添加删除按钮,以便在用户单击删除按钮时删除该项。我什么都试过了,但是做不到。我想我需要创建元素,然后我需要一个监听器,但我不知道如何正确地做到这一点 var-inputbyuser=document.getElementById(“userinput”); var按钮=document.getElementById(“enterbutton”); var ul=文件查询选择器(“ul”); 函数lenofinput(){ 返回inputbyuser.value.length

我想在每个列表项旁边添加删除按钮,以便在用户单击删除按钮时删除该项。我什么都试过了,但是做不到。我想我需要创建元素,然后我需要一个监听器,但我不知道如何正确地做到这一点

var-inputbyuser=document.getElementById(“userinput”);
var按钮=document.getElementById(“enterbutton”);
var ul=文件查询选择器(“ul”);
函数lenofinput(){
返回inputbyuser.value.length;
}
函数createlist(){
var li=document.createElement(“li”);
appendChild(document.createTextNode(inputbyuser.value));
ul.儿童(li);
inputbyuser.value=“”;
}
addEventListener(“单击”,函数(){
如果(lenofinput()>0){
createlist();
}
})
inputbyuser.addEventListener(“按键”,函数(){
if(lenofinput()>0&&event.which==13){
createlist();
}
})
待办事项
今天的名单
添加到列表中
  • Javascript
  • 爪哇
  • css
  • c
  • 爪哇

我认为我们可以对您的代码进行很多改进。我现在没有太多的时间来写更多的东西,但如果你有问题,尽管问,我稍后会尽力回答-

//函数
函数li(文本){
常量elem=document.createElement(“li”)
elem.textContent=文本
返回元素
}
函数addItem(){
如果(!f.input.value)返回
ul.appendChild(li(f.input.value))
f、 input.value=“”;
f、 input.focus()
}
//元素引用
常量f=document.forms.todo
常数ul=f.querySelector(“ul”)
//听众
f、 add.addEventListener(“单击”,addItem)
f、 input.addEventListener(“按键”,函数(事件){
if(event.which==13){
event.preventDefault()
附加项()
}
})
ul.addEventListener(“点击”),功能(事件){
event.target.parentNode.removeChild(event.target)
})
ul{
宽度:300px;
}
李:悬停::之后{
显示:内联块;
浮动:对;
内容:“删除”;
光标:指针;
}

  • Javascript
  • 爪哇
  • css
  • c
  • 爪哇

我认为我们可以对您的代码进行很多改进。我现在没有太多的时间来写更多的东西,但如果你有问题,尽管问,我稍后会尽力回答-

//函数
函数li(文本){
常量elem=document.createElement(“li”)
elem.textContent=文本
返回元素
}
函数addItem(){
如果(!f.input.value)返回
ul.appendChild(li(f.input.value))
f、 input.value=“”;
f、 input.focus()
}
//元素引用
常量f=document.forms.todo
常数ul=f.querySelector(“ul”)
//听众
f、 add.addEventListener(“单击”,addItem)
f、 input.addEventListener(“按键”,函数(事件){
if(event.which==13){
event.preventDefault()
附加项()
}
})
ul.addEventListener(“点击”),功能(事件){
event.target.parentNode.removeChild(event.target)
})
ul{
宽度:300px;
}
李:悬停::之后{
显示:内联块;
浮动:对;
内容:“删除”;
光标:指针;
}

  • Javascript
  • 爪哇
  • css
  • c
  • 爪哇

我会在每个项目旁边添加一个delete按钮,该按钮的数据属性为
action
,并将其设置为
'delete'
。单击按钮时,抓住该项目并将其删除

itemlister.addEventListener('click',函数(e){
如果(e.target.dataset.action=='delete'){
e、 target.closest('.item').remove();
}
});
完整示例
constuserinput=document.getElementById('user-input');
const-button=document.getElementById('enter-button');
const itemList=document.querySelector(“.item list”);
函数inputLength(){
返回userInput.value.length;
}
函数addItem(){
const li=document.createElement('li');
const span=document.createElement('span');
const button=document.createElement('button');
li.classList.add('item');
span.classList.add('value');
span.textContent=userInput.value;
button.textContent='Delete';
button.dataset.action='delete';
li.追加(span);
li.追加(按钮);
itemList.append(li);
userInput.value='';
}
按钮。addEventListener('click',函数(e){
如果(inputLength()>0){
addItem();
}
});
userInput.addEventListener('keypress',函数(e){
如果(inputLength()>0&&e.which==13){
addItem();
}
});
itemList.addEventListener('click',函数(e){
如果(e.target.dataset.action=='delete'){
e、 target.closest('.item').remove();
}
});
。项目列表{
显示器:flex;
弯曲方向:立柱;
宽度:15em;
列表样式类型:无;
左:1米;
}
.项目{
显示器:flex;
弯曲方向:行;
弹性:1;
边缘底部:0.25em;
}
.项目.价值{
显示器:flex;
弹性:1;
}
今天的列表
添加到列表中
  • Javascript 删除
  • JAVA 删除
  • CSS 删除
  • C 删除

我会在每个项目旁边添加一个名为
action
的数据属性的删除按钮,并将其设置为
'delete'
。单击按钮时,抓住该项目并将其删除

itemlister.addEventListener('click',函数(e){
如果(e.target.dataset.action=='delete'){
e、 target.closest('.item').remove();
}
});
完整示例
constuserinput=document.getElementById('user-input');
const-button=document.getElementById('enter-button');
const itemList=document.querySelector(“.item list”);
函数inputLength(){
返回userInput.value.length;
}
函数addItem(){
const li=document.createElement('li');
const span=document.createElement('span');
const button=document.createElement('button');
li.classList.add('item');