我有一个这样的清单:
<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,将更新.CommentList只显示div的名称=“version-3”,其他将被隐藏?
可能没有身份证?
答案 0 :(得分:5)
我在这里使用class
因为name
不是有效属性,所以你可以这样做:
$(".commentList > div").hide(); //hide them all
$(".commentlist > .version-3").show(); //show what you want
如果必须使用名称,第二行将如下所示:
$(".commentlist > div[name='version-3']").show();
但是......在这里和一个班级有效。
答案 1 :(得分:2)
使用not selector会不是一个坏主意?
$(".commentList").children().not("div[name='version-3']").hide();
虽然首先隐藏它们的想法并不是一个糟糕的dea:)
答案 2 :(得分:1)
$('.commentList > div[name!=version-'+num+']').hide();
但当然它不会切换任何可能已被隐藏的div。 @Nick有一个很好的答案。