1

我有这种清单

<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>

如果我单击任何列表项,则应删除所有其他列表项。谁能建议我如何做到这一点?

4

3 回答 3

9

假设this是被点击的li元素:

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

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

$(this).closest('li').siblings('li').not($(this).parents()).remove();
于 2012-06-26T21:55:43.887 回答
1

您可以简单地将ul内容替换为单击的项目:

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

看演示

于 2012-06-26T21:56:39.917 回答
0

jQuery解决方案...

$('li').click(function() {
    $(this).siblings().remove();
});
于 2012-06-26T21:59:28.763 回答