0

我有一个清单如下;

<ul id="toDB">
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
   <li>Item 4</li>
</ul>

我正在<li>使用以下 jquery 函数删除项目;

$('#toDB > li').click(function(){
   $(this).remove(); //I also tried with detach();
});

删除某些项目后,我将剩余项目存储在 jQuery 变量中,然后将其保存到数据库中。

var sendThis = $('#toDB').html();

从数据库中检索项目后,我仍然在列表中看到已删除的项目。我的代码有错误吗?

更新:

我的代码运行良好,我可以在 Chrome 开发人员工具中看到正在删除的项目。但从数据库中检索项目后,已删除的项目再次出现。

请帮我解决这个问题。

谢谢你。

4

2 回答 2

0

它还可能取决于您删除li标签的级别。尽管您的 jQuery 行基本上没有任何问题...我相信

   $('li','#toDB').click(function(){
   $(this).remove(); 
});

比....

$('#toDB > li').click(function(){
   $(this).remove(); 
});

尽管如果没有错的话,它们的作用是相同的……

您还应该注意,jQuery 不会click(function(){}) 自动处理动态加载的数据...

如果数据来自动态源......您可以尝试:

     $('li','#toDB').live('click',function(){ 
 $(this).remove();
})

希望有效....

于 2013-05-28T11:19:56.960 回答
0

嗯,这很奇怪......它应该工作。根据您共享的代码部分,删除已经在使用您的代码。

您确定在将其发送到数据库之前,元素的最新状态正在等待或正在将其他内容传递给数据库。

在将文件发送到数据库之前,只需检查列表是否包含您需要的正确值。

alert($('#toDB').html());

于 2013-05-28T10:56:47.483 回答