Javascript 在数组中保存类+删除错误对象

Javascript 在数组中保存类+删除错误对象,javascript,android,jquery,ios,arrays,Javascript,Android,Jquery,Ios,Arrays,摆弄html和javascript: 我希望使用.finished类保存在数组中的元素与数组中的类一起保存,如果我再次点击该元素并删除该类,则应在数组中没有类的情况下保存这些元素,我如何实现这一点? 2a。当我双击一个项目时,它会删除屏幕上正确的项目,但在我重新加载应用程序后,它会删除列表中的最后一个项目,换句话说,它会从html中删除正确的项目,但会删除数组中的最后一个项目。解决了 2b。此外,我无法删除新添加的项目或将其标记为已完成。我必须重新打开/更新应用程序/浏览器 $("li").db

摆弄html和javascript:

我希望使用.finished类保存在数组中的元素与数组中的类一起保存,如果我再次点击该元素并删除该类,则应在数组中没有类的情况下保存这些元素,我如何实现这一点? 2a。当我双击一个项目时,它会删除屏幕上正确的项目,但在我重新加载应用程序后,它会删除列表中的最后一个项目,换句话说,它会从html中删除正确的项目,但会删除数组中的最后一个项目。解决了

2b。此外,我无法删除新添加的项目或将其标记为已完成。我必须重新打开/更新应用程序/浏览器

$("li").dblclick(function()
        {
            //Removes last task instead of the task I double tapped on
            //and I can't remove newly added tasks
            taskListArray.splice($.inArray($(this), taskListArray, 1));

            $(this).remove();

            if(window.localStorage)
            {
                window.localStorage.setItem("taskList", JSON.stringify(taskListArray));
            }
        });
如果有人能帮我解决问题1和2b,那就太棒了,谢谢

尝试使用拼接索引,因为实际元素不是数组中的元素:

更改:

taskListArray.splice($.inArray($(this), taskListArray, 1));


另请注意,splice的第三个参数用于添加到数组

taskListArray是字符串数组。。。。不是jQuery对象。因此,您使用$查找错误的对象。inArray@charlietfl好吧,那我该怎么办?我希望它从数组中删除此项,这是我单击的项。如果您从未对它们进行排序,可以使用jQuery索引获取索引instead@charlietfl你是说taskListArray.splice$this.index,taskListArray,1;因为这只是添加了一个名为undefined的项,而不是Removing。当您仅使用2个参数时,不应添加,第三个参数用于添加尝试了此项以解决问题1,但它不起作用。您可能知道我做错了什么吗?当我点击一个元素时,它会将该li的类更改为完成。当我点击一个具有该类的元素时,它会删除该类。我希望保存该类,以便在我关闭并重新打开/更新应用程序/浏览器时,具有该类的元素仍将具有该类,而不具有该类的元素将不具有该类。换言之,当我更新浏览器时,具有线穿透的元素仍将具有线穿透。需要将数据存储在某处。。。。如果只是为了方便,您可以使用localStorage…否则需要安装在服务器或firebase之类的云服务上
taskListArray.splice($(this).index(),1);