jquery - 使用 addClass() 后如何定位一个类?
问题描述
我正在尝试编写一个非常简单的棋盘。这个想法只是拥有碎片并能够移动它们。
为此,我在单击它时添加了一个“选定”类,然后我想将带有“选定”类的块移动到单击的正方形中。
但定位“.selected”不起作用。如果我手动添加它,它会起作用,但如果我使用 addClass 来做它,它就不起作用。关于如何做到这一点的任何想法?
$('.board').on('click', '.circle', function() {
$('.circle').removeClass('selected');
$(this).addClass('selected');
})
var $movingpiece = $('.selected');
$('.square').on('click', function() {
$movingpiece.appendTo($(this));
});
解决方案
在函数的上下文中定义 .selected 而不是在外部,这应该可以;
$('.board').on('click', '.circle', function() {
$('.circle').removeClass('selected');
$(this).addClass('selected');
})
$('.square').on('click', function() {
$('.selected').eq(0).appendTo($(this));
});
推荐阅读
- sql - 将一组连接的行从一个表添加到另一个表。脚本应该在 SQL Server、Oracle、PostgreSQL 下工作
- mongodb - 迭代对象并获取所有键并将它们设置为聚合框架中的新字段
- typescript - Typescript Sequelize 使用子项的列作为 where
- angular - 无法阻止 Angular 应用程序缓存
- python - 在函数外部声明对象和变量时,它们是如何在函数内部使用的
- security - apt 找不到公钥 6DB5542C356545CF
- next.js - NextJS如何为动态路径构建页面结构
- azure - 如何使用 Azure DevOps 比较和部署从一个 ADF 实例到另一个实例的一个 ADF 管道
- rxjs - 当我将延迟运算符添加到第二个订阅时,共享一个 observable 变为单播
- matlab-spm - 使用 SPM 进行脑干分割