2015-10-16 54 views
-2

我有以下功能:執行如果點擊任何一個項目的條件

$('.card1').click(function(){ 
    // ... 
}); 

我想,以避免重複和希望這個函數執行下列任何選擇的:$('.card1'), $('.card2'), $('.card3'), $('.card4'), $('.card5'), $('.card6'), $('.card7'), $('.card8')

也許有一個if的條件,如果這是點擊或那,但不知道。

+10

無法哪個標籤你使用普通課程? – j08691

+2

您在濫用課程。如果你希望能夠選擇所有8個對象並對它們應用相同的事件處理程序,給它們一個'.card'類。 – meagar

+0

將卡片更改爲擁有id =「card1」,id =「card2」並使用class =「card」 – mplungjan

回答

0

你應該這些類轉換爲ID或廣告ID爲這些標籤,然後很容易地就可以找到被點擊你可以看到這裏的例子

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
var cardnumber = ["#card1", "#card2", "#card3", "#card4", "#card5"]; 

$("#card1, #card2, #card3, #card4, #card5").click(function() { 
    var y = cardnumber.indexOf("#" + this.id); 
alert(y); 
}); 
}); 
</script> 
</head> 
<body> 


<p id="card1">Click me!</p> 
<p id="card2">Click me!</p> 
<p id="card3">Click me!</p> 
<p id="card4">Click me!</p> 
<p id="card5">Click me!</p> 


</body> 
</html> 
0

要麼使用一個公共類的所有元素:

$('.card') 

或做一團選擇:

$('.card1, .card2....n') 
+0

感謝您使用組選擇器,我如何才能知道哪些被點擊 – jon220

0

你可以嘗試匹配具有類「卡」元素以「卡」,像這樣$("div[class^='card'],div[class*=' card']").click(function(){...});

0

更好地引入新的CSS類的點擊

CSS

/*all cards*/ 
.card {...} 

/*personalized cards*/ 
.card1 {...} 
.card2 {...} 
.....ect 

的JavaScript

$('.card').click(function(){ 
    // ... 
}); 

HTML

<div class="card card1">card1</div> 
<div class="card card2">card2</div> 
<div class="card card3">card3</div> 
<div class="card card4">card4</div> 

希望對你有意義或者至少給你提供點子。

然後,您將根據是否重複指定class - > id來進行指定。

<div id="card1" class="card">card1</div> 
<div id="card2" class="card>card2</div> 
<div id="card3" class="card">card3</div> 
<div id="card4" class="card">card4</div> 

然後您需要更改CSS以適應此更改。

然後,您將通過在javascript中詢問Id來獲取卡號。

的JavaScript

$('.card').click(function(){ 
    var $this = $("this"); 
    var cardId = $this.attr("id"); 

    if(cardid == "card1") { 
     //your code 
    } else if(cardid == "card2") { 
     //your code 
    } 
}); 
相關問題