jQuery remove()无法正常工作

时间:2013-05-28 10:18:58

标签: jquery html

我的列表如下;

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

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

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

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

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

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

更新

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

请帮我解决这个问题。

谢谢。

2 个答案:

答案 0 :(得分:0)

嗯这是古怪的......它应该有效。根据您共享的代码部分,删除已经与您的代码一起使用。

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

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

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

答案 1 :(得分: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();
})

希望工作......