jQuery:如何从列表<li> </li>中删除元素

时间:2012-04-13 17:36:26

标签: jquery

我有以下列表,并希望从中删除一个元素。在这个特定的例子中,我想删除第二个元素:

<a id="q1" rel="1" class="pagenum" href="#">2</a>

这是列表的代码:

        <div id="carousel">
        <ul class="overview">
          <li id="l1">
              <a id="q0" rel="0" class="pagenum" href="#">1</a>
              <a id="q1" rel="1" class="pagenum" href="#">2</a>
              <a id="q2" rel="2" class="pagenum" href="#">3</a>
              <a id="q3" rel="3" class="pagenum" href="#">4</a>
              <a id="q4" rel="4" class="pagenum" href="#">5</a>                
          </li>
         </ul>
        </div>

提前谢谢。

编辑:我希望使用$ .each的一些东西:

$("carousel li").each(function(index){
   if(index == SOME_NUM){
       this.remove()
   }
 });

然而,这似乎不起作用。

其他编辑:

感谢并向所有回答的人道歉。我没有正确地说出我的问题。我在发布之前确实找到了remove()函数 - 它在google上有很好的文档:)。但是,我试图循环遍历“li”的元素,然后通过$ .each循环删除特定元素。

感谢您提供任何及所有其他回复。

3 个答案:

答案 0 :(得分:4)

ID是唯一的..您只需使用$('#q1').remove();

即可

根据您的评论

  

我试图避免使用id,因为有很多这些   。我缩小了这个例子。我希望能用到一些东西   以下行:$(“overview li”)。each(function(index){this.remove}   但这似乎不起作用。

尝试使用.eq函数或:eq选择器从列表中选择特定的链接标记,

$('.overview li a:eq(1)') //-> Will return you the 2nd link

答案 1 :(得分:1)

删除的基本形式使用remove

$(selector).remove();

因此,对于第二个元素,您可以使用[id]

$('#q1').remove();

如果您要删除列表中的第二项,与该项[id]无关,您可以使用:

$('#l1 :eq(1)').remove();

请注意:eq使用从0开始的索引

删除功能本身易于使用,困难的部分是确定selector最佳效果。

答案 2 :(得分:1)

我认为这应该做你想做的事。

$counter = 0;
$("#carousel li").each(function(){
    if($counter == SOME_NUM)
    {
        this.remove();
    }
    $counter++;
});

你想在这里使用jquery $ variables而不是javascript vars,因为javascript变量是函数作用域,而$ variables是文档作用域。