Jquery加起来只有两个

Jquery加起来只有两个,jquery,Jquery,我试图让我的程序在每次点击按钮并且id存在时向计数器添加1; 但我的问题是,当您第三次单击时,它只会发出警报2而不是3,我希望它尽可能地向上 有没有更好的方法来实现这一点,谢谢 这是我的密码: Var q=1; if ($("#"+val).length==0){ alert (q) }else { q=q+1 alert (q) } 请看这是我点击按钮的完整代码,注意var q是在全局模式下声明的:我不是这个程序的专家,请有人修改我的代码,以便我可以让它工作吗 $(document).on(

我试图让我的程序在每次点击按钮并且id存在时向计数器添加1; 但我的问题是,当您第三次单击时,它只会发出警报2而不是3,我希望它尽可能地向上 有没有更好的方法来实现这一点,谢谢

这是我的密码:

Var q=1;
if ($("#"+val).length==0){
alert (q)
}else
{
q=q+1
alert (q)
}
请看这是我点击按钮的完整代码,注意var q是在全局模式下声明的:我不是这个程序的专家,请有人修改我的代码,以便我可以让它工作吗

$(document).on('click',".add", function(){

var add=($(this).attr('id')) //this collect the id

var q=1;
        var val=($(this).attr("name"))

 if ($("#"+val).length==0) {

        alert(q)
 }else{
q=q+1
 alert(q)
 }

将变量q声明为全局变量,以便它在整个页面生命周期内都可用,直到刷新页面为止

     <script>
     var q = 1;
     function Myfunction()
     {
     // put your logic here and use the q 
     }  
     </script>  
您需要声明Var q=1;就像全球一样

范例

如果只是打字错误,请忽略或输入;以结束语句。

将q设置为0以开始。这样你就可以跳过if-else

编辑:

好吧,首先,你的VarQ并不像你想象的那样全球化。它应该在单击处理程序之外。正如您编写的那样,每次单击时,q都将设置为1。添加

上面的“我的代码”将替换您的所有代码。但我会调整它以更适合你的需要。。。 我们都是先发球员

var q = 0;
$(document).off('click', '.add').on('click', '.add', function() {
    var add = $(this).attr('id');
    var val = $(this).attr("name");
    if($('#'+val).length != 0) {
        q++;
        alert(q);
    } 
    else {
        alert(q);
    }
)};
注意:我先用。以防万一。我喜欢这样,如果你不喜欢,你可以只留下


希望这对您有所帮助。

显示您的html和/或整个实现。请查看我的最新帖子,并告诉我在哪里粘贴建议的代码, thanks@DavidBukera我为您更新了我的答案。我尝试了您的示例,但仍然得到了1,而不是2或3。下面是我的代码:}else{$'SELECTOR'。单击函数{q=q+1;};alertq;}@david put var q=1;在文件之外。从表面上看,它工作得很完美,多亏了所有的答案,我相信它们都是正确的
var q = 0;
$(document).off('click', 'SELECTOR').on('click', 'SELECTOR', function() {
    q++;
    alert(q);
)};
var q = 0;
$(document).off('click', '.add').on('click', '.add', function() {
    var add = $(this).attr('id');
    var val = $(this).attr("name");
    if($('#'+val).length != 0) {
        q++;
        alert(q);
    } 
    else {
        alert(q);
    }
)};