删除除使用jQuery单击的列表项之外的所有其他列表项

时间:2012-06-26 21:53:37

标签: javascript jquery

我有此类列表

<ul>
<li><div class="pname">Name1</div><div class="pid">ID1</div>...</li>
<li><div class="pname">Name2</div><div class="pid">ID2</div>...</li>
<li><div class="pname">Name3</div><div class="pid">ID3</div>...</li>
...
</ul>

如果我点击任何列表项,则应删除所有其他列表项。谁能建议我怎么做呢?

3 个答案:

答案 0 :(得分:9)

假设this是点击的li元素:

$(this).siblings('li').not(this).remove();

如果单击处理程序绑定到列表项内的某些内容:

$(this).closest('li').siblings('li').not($(this).parents()).remove();

答案 1 :(得分:1)

您只需使用点击的项目替换ul内容:

$('ul li').click(function(ev){
    $(this).closest('ul').html($(this));
});​

See demo

答案 2 :(得分:0)

jQuery解决方案......

$('li').click(function() {
    $(this).siblings().remove();
});