Javascript stringify()正在序列化使用Jquery remove()删除的元素

时间:2019-07-13 08:53:17

标签: javascript jquery html serialization stringify

我在ASP.Net MVC项目中有一个自定义页面生成器,该项目使用jquery和javascript动态构建页面上的元素,然后使用stringify()方法对其进行序列化,然后将其作为字符串传递给控制器​​,然后将序列化的Json作为字符串保存在SQL数据库中。我给页面上的每个元素一个删除按钮,该按钮嵌套在该元素的div中。我给了删除按钮一个javascript函数,该函数从页面中删除了它的父div,包括它本身。这可行。但是,奇怪的是,即使我检查了页面并没有发现删除的div或其唯一的数据属性标识符的痕迹,先前删除的元素仍在调用stringify()时进行序列化。

如上所述,我已经检查了元素以确保Jquery.remove()实际上正在删除它们,看起来确实如此。该页面上的所有内容似乎都可以按需工作,但是遗留了一些残留元素,这些元素正在序列化,我不确定如何应对。

元素如下所示:

<div data-myhtmlelement='text'><input type='hidden' data-myhtmlvalue='myval' /><a href='#' data-myhtmldeletebtn></a></div>

    The jquery is along these lines:
    // deleting...
    $("[data-myhtmlelement]").each(function(index, element){
        $(element).find("[data-myhtmldeletebtn]").click(function(){
        $(element).remove();
        });
    });

然后,我单击页面下方的提交按钮,再次将我的每个data-myhtmlelement项作为目标,并将它们字符串化为数组。但是它正在拾取已删除的元素。任何帮助,不胜感激。谢谢大家。

0 个答案:

没有答案