我有以下列表,并希望从中删除一个元素。在这个特定的例子中,我想删除第二个元素:
<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循环删除特定元素。
感谢您提供任何及所有其他回复。
答案 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是文档作用域。