Javascript 从列表中删除元素的更好方法?
我将有一个无序的项目列表(Javascript 从列表中删除元素的更好方法?,javascript,jquery,Javascript,Jquery,我将有一个无序的项目列表()。每个项目都有一个delete按钮,它将进行ajax调用,然后从列表中删除该项目。我有进行Ajax调用所需的所有信息,但我想知道让用户删除列表中任何项目的最佳方法 我的第一个想法是动态地为每个分配一个唯一的类标识符&然后在每个元素上使用jquery的remove(),但是有更好的方法吗?我觉得我的方法有点笨手笨脚。我看不出你的方法有任何问题。您可以使用数据集属性,例如,甚至id,而不是使用类(稍微有些笨拙) $("ul").on('click', 'li', func
)。每个项目都有一个delete按钮,它将进行ajax调用,然后从列表中删除该项目。我有进行Ajax调用所需的所有信息,但我想知道让用户删除列表中任何项目的最佳方法
我的第一个想法是动态地为每个
分配一个唯一的类标识符&然后在每个元素上使用jquery的remove()
,但是有更好的方法吗?我觉得我的方法有点笨手笨脚。我看不出你的方法有任何问题。您可以使用数据集属性,例如
,甚至id
,而不是使用类(稍微有些笨拙)
$("ul").on('click', 'li', function () {
$.post('remove-script', 'id=' + this.id, function () {
$(this).fadeOut(function () { $(this).remove(); });
});
});
不需要发明一些唯一的类名(您指的是唯一标识符,对吗?
id
,而不是class
)
只需使用单击的按钮查找其父级li
$('li .delete_button').click(function() {
var that = this;
$.post(url, data, function(data) {
if(data.can_delete) {
$(that).parent('li').remove();
}
});
});
HTML
1,删除标题为删除的li元素
$("ul li").remove("li[title==delete]");
2、删除第二个li元素
var $li=$("ul li:eq(1)").remove();
没有见过使用
that
作为变量来存储对this
的引用)个人更喜欢t
,但是that
看起来很有趣。如果我没有回答的话,我会因为这个名字而得票;-)@虫族:不管怎样,你应该投票表决,这叫做“体育精神”:-)我最好.remove()
我的答案,然后投票表决你的答案。这个问题太无聊了;-)这可以让你删除li元素,它们的标题是delete…
——实际上不是。这将从页面中删除所有项目。不管点击了什么
$("ul li").remove("li[title==delete]");
var $li=$("ul li:eq(1)").remove();