修改
在我的代码中,我有一些速记JS,一位同事在工作中帮助我。我并不完全理解它,并且将它更改回简单的jQuery会更快乐。我试过自己,但它一直在破碎。
这是简写
if (target.length) {
target.addClass("occupied");
$(".occupied").parent(".flip-wrapper").addClass("flipped");
b.clone().addClass(
b.data("letter") == target.parents('td').data("letter") ? "right-letter" : "wrong-letter").appendTo("table").css({
background: "transparent",
position: "absolute",
top: currentPos.top,
left: currentPos.left
}).animate({
top: targetPos.top,
left: targetPos.left
}, "slow", function() {
$(this).css({
top: 0,
left: 0
}).appendTo(target);
我试图像这样改变它
if (target.length) {
target.addClass("occupied");
$(".occupied").parent(".flip-wrapper").addClass("flipped");
b.clone().addClass(
if $(b.data("letter") == target.parents('td').data("letter")) {
$(this).addClass("right-letter");
} else {
$(this).addClass("wrong-letter")
}.appendTo("table").css({
background: "transparent",
position: "absolute",
top: currentPos.top,
left: currentPos.left
}).animate({
top: targetPos.top,
left: targetPos.left
}, "slow", function() {
$(this).css({
top: 0,
left: 0
}).appendTo(target);
我哪里错了?
答案 0 :(得分:1)
您缺少左括号:
if $(b.data("ocupied") == ...
将其更改为:
if ($(b).data("ocupied") == ...
答案 1 :(得分:1)
主要问题在于addClass
方法。请参阅api
http://api.jquery.com/addClass/
更改
b.clone().addClass(
到b.clone()
由于addClass无法直接接收这样的条件,你需要将它们包装在function(){}
中,或者只删除那里的addClass
工作代码在这里