我有一个这样的列表:
<div class="commentList>
<div name="version-1>stuff</div>
<div name="version-1>stuff</div>
<div name="version-1>stuff</div>
<div name="version-2>stuff</div>
<div name="version-3>stuff</div>
<div name="version-3>stuff</div>
</div>我想要一行jquery,在给定版本#的情况下,比如3,它会更新the.CommentList,只显示带有name=" version -3“的div,而其他的将被隐藏起来?
可能没有ID?
发布于 2010-11-06 00:37:16
因为name不是一个有效的属性,所以我在这里使用class,然后你可以这样做:
$(".commentList > div").hide(); //hide them all
$(".commentlist > .version-3").show(); //show what you want如果必须使用name,则第二行将如下所示:
$(".commentlist > div[name='version-3']").show();But..try,并在此处的类中有效。
发布于 2010-11-06 00:41:08
使用not选择器会不会是个坏主意?
$(".commentList").children().not("div[name='version-3']").hide();尽管先将它们全部隐藏起来的想法并不是一个糟糕的dea :)
发布于 2010-11-06 00:40:55
$('.commentList > div[name!=version-'+num+']').hide();
但当然,它不会切换回任何可能已经隐藏的div。@Nick有一个很好的答案。
https://stackoverflow.com/questions/4107929
复制相似问题