Javascript 在数组方法delete中删除输入时出现问题

Javascript 在数组方法delete中删除输入时出现问题,javascript,html,Javascript,Html,当我试图删除添加的输入时,我会收到一条错误消息,该值为NULL。 所以我的想法是,当我点击DELETE时,只有输入被删除,而不是所有的输入都被删除。 函数myFunction(),则将输入添加到数组中。 实际上,我也想使用Up-Down,但第一次删除必须起作用,但是如果你知道我如何使用Up和Dwon,请写下答案 var数组=[]; 函数myFunction(){ //console.log('test'); var todoItem=document.getElementById('new-t

当我试图删除添加的输入时,我会收到一条错误消息,该值为NULL。 所以我的想法是,当我点击DELETE时,只有输入被删除,而不是所有的输入都被删除。 函数myFunction(),则将输入添加到数组中。 实际上,我也想使用Up-Down,但第一次删除必须起作用,但是如果你知道我如何使用Up和Dwon,请写下答案

var数组=[];
函数myFunction(){
//console.log('test');
var todoItem=document.getElementById('new-todo-item')。值;
const Input=document.querySelectorAll('Input[name=“todo item done”]”);
console.log(输入值);
//输入von Add
数组。取消移位(todoItem);
document.getElementById(“待办事项列表”).innerHTML+=
“
  • ”+ " " + "" + " | " + " " + “删除”+ “
  • ” ; document.getElementById('new-todo-item')。value=“”; } 函数deleteData(){ var deleteValue=document.getElementsByName('todo-item-done')。值; var index=Array.indexOf(deleteValue); 如果(索引!=-1){ 阵列拼接(索引1); } }
    待办事项列表
    要做:
    
      两个问题:首先,正如Matt指出的,您不应该将
      Array
      用作变量名-它是一个保留字-因此将
      Array
      更改为
      arr
      。其次,Delete按钮需要针对同一
      li
      元素中的
      input
      标记。因此,更改变量名并以正确的
      input
      标记为目标,我得到:

      var arr=[];
      函数myFunction(){
      //console.log('test');
      var todoItem=document.getElementById('new-todo-item')。值;
      const Input=document.querySelectorAll('Input[name=“todo item done”]”);
      //console.log(输入值);
      //输入von Add
      到达取消移位(todoItem);
      document.getElementById(“待办事项列表”).innerHTML+=
      “
    • ”+ " " + "" + " | " + " " + “删除”+ “
    • ” ; document.getElementById('new-todo-item')。value=“”; } 函数deleteData(e){ 控制台日志(arr); 设p=e.parentNode; 控制台日志(p); 让deleteValue=p.getElementsByTagName(“输入”)[0].value; var指数=arr.indexOf(deleteValue); 如果(索引!=-1){ 阵列拼接(索引1); } p、 删除(); 控制台日志(arr); }
      待办事项列表
      要做:
      
        if(index!=-1){
        更改为
        if(index>-1){
        if(index!=-1){
        问题在于:var deleteValue=document.getElementById('todo-item-done')。值;(错误=未捕获类型错误:无法读取null的属性“value”)事实上,代码确实说
        input[name=“todo item done”]
        这意味着项目将其作为
        名称
        而不是
        id
        我现在应该做什么才能获得正确的名称?不要命名变量
        数组
        。这将覆盖内置的
        数组
        对象。请注意,我已将删除按钮的onclick更改为包含
        ,以便代码知道是哪个对象首先,感谢您的回答,我在控制台上看到所选元素已从数组中删除,但它始终显示在Borwser上?我希望从浏览器中删除该元素。OK-我已更新了执行此操作的代码。由于代码正在查看delete按钮的父项,因此这只是执行
        p.remove()的一种情况
        删除它