我的列表如下;
<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开发者工具中看到项目正在删除。但是从数据库中检索项目后,已删除的项目再次出现。
请帮我解决这个问题。
谢谢。
答案 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();
})
希望工作......