你可以做到這一點的位置,如果它總是會在a1, a2, a3, etc..
順序:
$(".grid.info").click(function() {
$(".grid.info").not(this).each(function(){
var classToRemove = "a" + ($(this).index() + 1);
$('.zoom').removeClass(classToRemove);
});
var classClicked = "a" + ($(this).index() + 1);
$('.zoom').toggleClass(classClicked);
});
Demo - 撥動斧類點擊股利,刪除先前點擊斧所有其他
上面只有工作,如果順序總是一致的,但如果你的div是在一個不同的順序,然後在index()
變得無用,你必須看看添加可能數據屬性,像這樣:
<div class="grid info a3" data-class="a3">3</div>
<div class="grid info a2" data-class="a2">2</div>
<div class="grid info a1" data-class="a1">1</div>
使用數據屬性作爲已經建議會更重承擔責任,你的腳本只是略有更改爲:
$(".grid.info").click(function() {
$(".grid.info").not(this).each(function(){
var classToRemove = $(this).data("class");
$('.zoom').removeClass(classToRemove);
});
var classClicked = $(this).data("class");
$('.zoom').toggleClass(classClicked);
});
DEMO - 使用數據屬性,而不是
是否必須是一個類?如果您使用數據屬性會更容易。 – Barmar 2013-02-10 20:35:22
我只需要點擊div的具體信息,以便我可以匹配'zoom'div內的內容。因此,如果單擊div a1,內容a1將顯示在'縮放'內 – weecho 2013-02-10 20:47:10