迭代未排序列表中的选定项目

时间:2014-10-26 17:25:39

标签: javascript jquery html

我目前正在开发一个远程文件浏览器,允许用户多选文件并一起删除所选文件。该列表基本上是一个样式无序列表:

<ul class="nav">
  <li><a>File one</a></li>
  <li><a>File two</a></li>
  <li><a>File three</a></li>
  <li><a>File four</a></li>
</ul>

我添加了一个更改的jQuery脚本,当点击它时,它会向li添加一个样式类(即突出显示该项):

var lis = $('.nav li a').click(function(e){
    if(!e.ctrlKey) {
         lis.removeClass("selected");      
    }
    $(this).toggleClass("selected");    
});

现在我想实现一个必须决定选择哪些文件的删除功能,但我不确定这样做的最佳方法是什么。

最简单的方法是遍历li条目并检查哪些条目被称为“已选择”类。

这种方法是否可取?也就是说,使用类作为标志是个好主意吗?

1 个答案:

答案 0 :(得分:2)

您可以简单地使用类选择器来构建所需的选择器。没有必要迭代所有li元素并检查选择的类是否存在:

$('.selected');

删除具有所选锚点的li:

$('.selected').parent().remove()

$('li:has(.selected)').remove()