从列表中删除元素的更好方法?

时间:2012-01-19 07:04:24

标签: javascript jquery

我将有一个无序列表(<UL>)的项目。每个项目都有一个删除按钮,它将进行ajax调用&amp;然后从列表中删除该项目。我拥有进行Ajax调用所需的所有信息,但我想知道让用户删除列表中任何项目的最佳方法。

我的第一个想法是动态地为每个<LI>分配一个唯一的类标识符&amp;然后在每个元素上使用jquery的remove(),但是有更好的方法吗?我有一种感觉,我的方法有点火腿。

3 个答案:

答案 0 :(得分:2)

无需创建一些独特的类名(您的意思是唯一标识符,对吗?id,而不是class)。

只需使用点击的按钮即可找到其父li

$('li .delete_button').click(function() {
  var that = this;
  $.post(url, data, function(data) {
    if(data.can_delete) {
      $(that).parent('li').remove();
    }
  });
});

答案 1 :(得分:0)

HTML

<ul>
  <li>TEXT <input type="button" value="Delete" data-id="1" /></li>
  <li>TEXT <input type="button" value="Delete" data-id="2" /></li>
  <li>TEXT <input type="button" value="Delete" data-id="3" /></li>
</ul>

脚本

$("ul li input").click(function() {
  //ajax call on $(this).data('id');
  $(this).closest("li").remove();
});

答案 2 :(得分:0)

1,删除标题为删除的li元素...

$("ul li").remove("li[title==delete]");

2,删除第二个li元素

var $li=$("ul li:eq(1)").remove();