高级标题,简单问题:
如何在jQuery中执行以下操作(隐藏除$(this)
之外的所有内容?)
$("table tr").click(function() {
$("table tr:not(" + $(this) + ")").hide();
// $(this) is only to illustrate my problem
$("table tr").show();
});
答案 0 :(得分:186)
$(this).siblings().hide();
答案 1 :(得分:145)
$("table.tr").not(this).hide();
顺便说一句,我认为你的意思是$("table tr")
(用空格而不是点)
你拥有它的方式,它选择每个具有tr
类(例如<table class="tr">
)的表,这可能不是你想要的。
有关详细信息,请参阅documentation。
答案 2 :(得分:7)
如果要将not()与其他一些选择器结合使用,可以使用add():
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
这将淡出所有其他链接,但是点击的链接,并且还会淡出一些选定的ID和类。
答案 3 :(得分:0)
我认为解决方案可以是这样的:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
- 编辑评论:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})