jquery,为什么var赢了';t累计以及为什么我看不到添加的img
只有两件事: 为什么我的var检查不能相加(它总是0),以及如何修复它? 其次,为什么我不能在表之后添加xmark图像 我的html的设置是我在td中有字母imgs。用户应按字母顺序单击img,每次正确单击img都会被删除。如果错误,将显示一个xmark (代码中还没有:三次失误后,游戏结束了,然后我会问用户是想再次玩还是回家) 这是我的jquery代码:jquery,为什么var赢了';t累计以及为什么我看不到添加的img,jquery,add,var,Jquery,Add,Var,只有两件事: 为什么我的var检查不能相加(它总是0),以及如何修复它? 其次,为什么我不能在表之后添加xmark图像 我的html的设置是我在td中有字母imgs。用户应按字母顺序单击img,每次正确单击img都会被删除。如果错误,将显示一个xmark (代码中还没有:三次失误后,游戏结束了,然后我会问用户是想再次玩还是回家) 这是我的jquery代码: $("img").click(function(){ var error = 0;
$("img").click(function(){
var error = 0;
var check = 0;
var letterArray = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
var clickedValue = $(this).attr('name');
alert(check);
if(clickedValue ==letterArray[check]){
$(this).parent().empty();
check+=1;
} else {
error+=1;
$("error").add('<td><img src="images/xmark.png" alt="xmark" name="xmark"/></td>');
}
});
$(“img”)。单击(函数(){
var误差=0;
var检查=0;
var letterArray=新数组('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var clickedValue=$(this.attr('name');
警惕(检查);
如果(clickedValue==字母数组[检查]){
$(this.parent().empty();
检查+=1;
}否则{
误差+=1;
$(“错误”)。添加(“”);
}
});
我的html表格:
为了简洁起见,刚发了前6封信
<table>
<tr class="rows">
<td><img src="images/Z.png" alt="Z" name="Z"/></td>
<td><img src="images/R.png" alt="R" name="R"/></td>
<td><img src="images/S.png" alt="S" name="S"/></td>
<td><img src="images/U.png" alt="U" name="U"/></td>
<td><img src="images/B.png" alt="B" name="B"/></td>
<td><img src="images/A.png" alt="A" name="A"/></td>
</tr>
</table>
<table><tr id="error"></tr></table>
每次运行函数时,都会初始化新的
检查
和错误
变量。为了使它们保持状态,您需要将它们放在更高的(例如全局)上下文中
编辑:例如:
var error = 0,
check = 0,
letterArray = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
$("img").click(function(){
var clickedValue = $(this).attr('name');
alert(check);
if(clickedValue ==letterArray[check]){
$(this).parent().empty();
check+=1;
} else {
error+=1;
$("error").add('<td><img src="images/xmark.png" alt="xmark" name="xmark"/></td>');
// $("error") looks like the wrong selector. You're also misusing .add()
}
});
var错误=0,
检查=0,
字母数组=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
$(“img”)。单击(函数(){
var clickedValue=$(this.attr('name');
警惕(检查);
如果(clickedValue==字母数组[检查]){
$(this.parent().empty();
检查+=1;
}否则{
误差+=1;
$(“错误”)。添加(“”);
//$(“error”)看起来是错误的选择器。您还误用了.add()
}
});
将您的警报(检查)
放在单击函数的最后一行,该行应该与零不同。您的代码实际上正在工作。如果将警报函数放置在If语句中,然后每次单击最后一个图像时,都会看到图像被删除,并且值会增加
演示
你是否在某处有一个
标记,也有$(“错误”)。add
并不是你所认为的那样,也许你想使用append
。这应该是一个注释。你还没有提供一个有效的解决方案。@StevenPHP我解释了这个问题,并说他们如何解决它(把它放在更高的上下文中)。
if(clickedValue == letterArray[check]){
$(this).parent().empty();
check+=1;
alert(check);
}