2

我有很多包含Li的UL标签, 我想要那些 Li并隐藏其他人。classnames
showclassname are same

这里是 JSFiddle 演示

例如这里如果我点击class1然后“John,Michle,Alex”将可见其余都必须隐藏

已编辑: 在隐藏列表时也对 Li 进行排序

回答:

通过更改 $(this).show();$(this).parent('Li').show();解决我的空白问题:)

4

2 回答 2

1

您在 jsfiddle 中犯了一个简单的错误。这是一个修复

我改变了这一行:

if ($('#emplistName Ul Li Span').hasClass(className) === true) {

至:

if ($(this).hasClass(className) === true) {
于 2013-03-02T12:06:29.833 回答
1
  1. 请勿使用.live(),已弃用
  2. 不要用.each(),没必要
$("ul.tagingUL li").on("click", function () {
    var className = $(this).attr('class');
    $('#emplistName ul li span.'+className).show();
    $('#emplistName ul li span:not(.'+className+')').hide();
});

JSFIDDLE

于 2013-03-02T12:06:57.683 回答