繁体   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