首页 > 解决方案 > 使用 addClass() 后如何定位一个类?

问题描述

我正在尝试编写一个非常简单的棋盘。这个想法只是拥有碎片并能够移动它们。

为此,我在单击它时添加了一个“选定”类,然后我想将带有“选定”类的块移动到单击的正方形中。

但定位“.selected”不起作用。如果我手动添加它,它会起作用,但如果我使用 addClass 来做它,它就不起作用。关于如何做到这一点的任何想法?

$('.board').on('click', '.circle', function() {
  $('.circle').removeClass('selected');
  $(this).addClass('selected');
})


var $movingpiece = $('.selected');

$('.square').on('click', function() {
  $movingpiece.appendTo($(this));
});

标签: jquery

解决方案


在函数的上下文中定义 .selected 而不是在外部,这应该可以;

$('.board').on('click', '.circle', function() {
  $('.circle').removeClass('selected');
  $(this).addClass('selected');
})

$('.square').on('click', function() {
  $('.selected').eq(0).appendTo($(this));
});


推荐阅读