簡體   English   中英

切換單個元素的類

[英]Toggle class for individual element

Uber noob在這里,我正在嘗試創建一個Javascript / DOM內存游戲,我遇到的問題是翻轉1張卡而不是全部

完整代碼在這里https://codepen.io/anon/pen/PedeYq

 $(".card").on("click", flipCard); function flipCard(event) { cardFlip(); } function cardFlip() { HERE.toggleClass('open show') } 

但是,我似乎正在嘗試切換此卡(請參閱此處的提示),似乎無效。

在jQuery的事件處理函數中的this是點擊的元素:

 $(".card").on("click", cardFlip); function cardFlip() { $(this).toggleClass('open show'); } 
 .card { display: inline-block; width: 20px; height: 20px; background: black; } .open { background: blue; } .show { box-shadow: 0 0 0 2px gold; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="card"></div> <div class="card"></div> 

另一種選擇是使用event.target

 $(".card").on("click", cardFlip); function cardFlip(event) { $(event.target).toggleClass('open show'); } 
 .card { display: inline-block; width: 20px; height: 20px; background: black; } .open { background: blue; } .show { box-shadow: 0 0 0 2px gold; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="card"></div> <div class="card"></div> 

jQuery在事件處理程序中this設置為目標元素。 您可以this傳遞給cardFlip

 $(".card").on("click", flipCard); function flipCard(event) { cardFlip(this); } function cardFlip(HERE) { HERE.toggleClass('open show') } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM