我有这样的事情:
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
单击其中一个链接时,我想在未单击的链接上执行.hide()函数。我理解jQuery有:not选择器,但在这种情况下我无法弄清楚如何使用它因为我需要使用$(".content a")
我想做点什么
$(".content a").click(function()
{
$(".content a:not(this)").hide("slow");
});
但在这种情况下,我无法弄清楚如何正确使用:not selector。
答案 0 :(得分:372)
尝试使用not()
method代替:not()
selector。
$(".content a").click(function() {
$(".content a").not(this).hide("slow");
});
答案 1 :(得分:41)
答案 2 :(得分:9)
您还可以使用jQuery .siblings()
方法:
<强> HTML 强>
<div class="content">
<a href="#">A</a>
<a href="#">B</a>
<a href="#">C</a>
</div>
<强>的Javascript 强>
$(".content").on('click', 'a', function(e) {
e.preventDefault();
$(this).siblings().hide('slow');
});
答案 3 :(得分:5)
你应该使用&#34;兄弟姐妹()&#34;方法,并防止运行&#34; .content a&#34;选择一遍又一遍只是为了应用这种效果:
<强> HTML 强>
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
<强> CSS 强>
.content {
background-color:red;
margin:10px;
}
.content.other {
background-color:yellow;
}
<强>的Javascript 强>
$(".content a").click(function() {
var current = $(this).parent();
current.removeClass('other')
.siblings()
.addClass('other');
});