Javascript 单击按钮从数组中删除对象
我正在尝试创建自己的小推特 这一切都很好,但我找不到一个方法来删除一个按钮点击特定的推特。我尝试过splice(),但它总是删除数组的第一个对象 这是我的密码:Javascript 单击按钮从数组中删除对象,javascript,html,arrays,splice,Javascript,Html,Arrays,Splice,我正在尝试创建自己的小推特 这一切都很好,但我找不到一个方法来删除一个按钮点击特定的推特。我尝试过splice(),但它总是删除数组的第一个对象 这是我的密码: var tweets=[] 函数postnewweet(){ var today=新日期(); var date=today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear(); var time=today.getHours()+':'+today.getMinute
var tweets=[]
函数postnewweet(){
var today=新日期();
var date=today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear();
var time=today.getHours()+':'+today.getMinutes();
var id=tweets.length+1;
var li=document.createElement('li');
var inputValue=document.getElementById('newTweet').value;
var finalValue=id+“”+inputValue+“”+date+“”+time;
var t=document.createTextNode(finalValue);
li.儿童(t);
推送({
id:id,
内容:输入值,
日期:日期+时间
});
document.getElementById('list').appendChild(li);
document.getElementById('newTweet')。value=“”;
console.log(tweets);
var buttonDelete=document.createElement(“按钮”);
buttonDelete.innerHTML='';
buttonDelete.onclick=deleteItem;
功能删除项(e){
var ul=document.getElementById('list');
ul.removeChild(李);
var list=document.getElementById('list');
list.addEventListener('click',函数(e){
var index=e.target.getAttribute('value');
tweets.拼接(索引,1);
console.log(tweets)
});
}
li.追加子项(按钮删除);
}
邮递
有两个问题:
var tweets=[]
函数postnewweet(){
var today=新日期();
var date=today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear();
var time=today.getHours()+':'+today.getMinutes()+':'+today.getSeconds();
var id=tweets.length+1;
var li=document.createElement('li');
var inputValue=document.getElementById('newTweet').value;
var finalValue=id+“”+inputValue+“”+date+“”+time;
var t=document.createTextNode(finalValue);
li.儿童(t);
推送({
id:id,
内容:输入值,
日期:日期+时间
});
document.getElementById('list').appendChild(li);
document.getElementById('newTweet')。value=“”;
console.log(tweets);
var buttonDelete=document.createElement(“按钮”);
buttonDelete.innerHTML='del';
buttonDelete.onclick=deleteItem;
功能删除项(e){
var ul=document.getElementById('list');
ul.removeChild(李);
var list=document.getElementById('list');
list.addEventListener('click',函数(e){
var delDate=e.target.getAttribute('del-date');
让index=tweets.map((item)=>item.date).indexOf(delDate);
控制台日志(索引);
tweets.拼接(索引,1);
console.log(tweets)
});
}
li.追加子项(按钮删除);
}
邮递
有两个问题:
var tweets=[]
函数postnewweet(){
var today=新日期();
var date=today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear();
var time=today.getHours()+':'+today.getMinutes()+':'+today.getSeconds();
var id=tweets.length+1;
var li=document.createElement('li');
var inputValue=document.getElementById('newTweet').value;
var finalValue=id+“”+inputValue+“”+date+“”+time;
var t=document.createTextNode(finalValue);
li.儿童(t);
推送({
id:id,
内容:输入值,
日期:日期+时间
});
document.getElementById('list').appendChild(li);
document.getElementById('newTweet')。value=“”;
console.log(tweets);
var buttonDelete=document.createElement(“按钮”);
buttonDelete.innerHTML='del';
buttonDelete.onclick=deleteItem;
功能删除项(e){
var ul=document.getElementById('list');
ul.removeChild(李);
var list=document.getElementById('list');
list.addEventListener('click',函数(e){
var delDate=e.target.getAttribute('del-date');
让index=tweets.map((item)=>item.date).indexOf(delDate);
控制台日志(索引);
tweets.拼接(索引,1);
console.log(tweets)
});
}
li.追加子项(按钮删除);
}
邮递
当您可以在删除功能中访问li
时,您也可以访问所有其他数据。您可以使用它们查找要从tweets
数组中删除的元素。
例如,在当前代码中,可以使用id
:
tweets.splice(id - 1, 1)
或者,您可以对存储在tweets
中的任何数据使用过滤器
。我认为这部分没有任何用处:
var list = document.getElementById('list');
list.addEventListener('click', function(e) {
var index = e.target.getAttribute('value');
tweets.splice(index, 1);
console.log(tweets)
});
您只需删除
ul.removeChild
下的tweet,因为您可以在删除功能中访问li
,您也可以访问所有其他数据。您可以使用它们查找要从tweets
数组中删除的元素。
例如,在当前代码中,可以使用id
:
tweets.splice(id - 1, 1)
或者您可以将过滤器
与任何