我有一系列的div,它们代表一个类似于棋盘的东西。但这是一个有点棘手的象棋。基本上,用户点击一块,然后点击敌人的一块。如果它能致命的话。它应该把它移到敌人的位置。和敌人应该被删除。
<div class="column" data-square="4-4">
<div class="white-king lol">a</div>
</div>
<div class="column" data-square="4-5">
<div class="black-pawn lol">b</div>
</div>
<div class="column" data-square="4-6">
<div class="blue lol">c</div>
</div>
//所以当用户第一次点击白棋时,我们得到了数据正方形,将它赋值给一个变量$from,然后点击敌人的黑兵。在服务器中执行一些验证,并且应该将
square= = 4-4的内部div到square = 4-5的内部div,应删除square = 4-5的内部div,并预置square = 4-4的内部div
我尝试过使用jquery克隆。但它的小提琴效果并不好:http://jsfiddle.net/jm4eb/13/
发布于 2012-04-23 06:32:37
就我个人而言,用一个元素替换另一个元素不会太不正常。我只考虑将属性从一个元素交换到另一个元素。从一个元素中删除white-king
类,然后将其添加到另一个元素中。
发布于 2012-04-23 06:32:37
这仍然不是一个好方法,但是你可以尝试一下。
(function() {
var from = null;
var $change =null;
var to = null;
$(".column" ).click(function(){
if(from === null)
{
$(this).css("background-color","yellow");
from = $(this).data('square');
$change= ($('<div/>').append($(this).clone(true).children()).html());
}
else
{
to = $(this).data('square');
$(this).html("").html($change);
$('div[data-square="'+from+'"]').html("<div class=lol>empty</div>").css("background-color","");
from = to = null;
}
});
}());
https://stackoverflow.com/questions/10272641
复制相似问题