jquery,为什么var赢了';t累计以及为什么我看不到添加的img

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;

只有两件事: 为什么我的var检查不能相加(它总是0),以及如何修复它? 其次,为什么我不能在表之后添加xmark图像

我的html的设置是我在td中有字母imgs。用户应按字母顺序单击img,每次正确单击img都会被删除。如果错误,将显示一个xmark

(代码中还没有:三次失误后,游戏结束了,然后我会问用户是想再次玩还是回家)

这是我的jquery代码:

     $("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);
            }