javascript - 在 Jquery 中,为什么它不会在 while 循环中提醒每个人?

标签 javascript jquery while-loop alert

<body>
    <div id="div1">1</div>
    <div id="div2">2</div>
    <div id="div3">3</div>
    <script>
    $(document).ready(function(){
        var boxNumber=1;
        while(boxNumber<=3){
            $('#div'+boxNumber).click(function(){
                alert(boxNumber);
            });
            boxNumber++;
        }
    });
    </script>
</body>

我希望代码在我点击它时提醒它的框号,但它提醒的是数字 4。我如何解决它?谢谢

最佳答案

您正在提醒计数器的当前值,而不是 <div> 的实际值.

这将按照您的预期工作:

<body>
    <div id="div1">1</div>
    <div id="div2">2</div>
    <div id="div3">3</div>
    <script>
    $(document).ready(function(){
        var boxNumber=1;
        while(boxNumber<=3){
            $('#div'+boxNumber).click(function(){
                alert($(this).text());
            });
            boxNumber++;
        }
    });
    </script>
</body>

JSFiddle

关于javascript - 在 Jquery 中,为什么它不会在 while 循环中提醒每个人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18421908/

相关文章:

javascript - 构建可访问数据库的跨平台应用程序

javascript 代码不工作。可能将它错误地附加到 html 页面

jQuery追加用img替换图像

Java boolean 条件while循环似乎忽略了if语句?

java - 需要将此 for 循环转换为 while 循环

PHP 在 while 循环中计算两个值之间的差异

javascript - document.links 输出未知元素

javascript - Show Hide With Jquery 想要在显示时添加一个减号

javascript - 是否可以在没有 Javascript 的情况下使用纯 CSS3 制作此动画?

jquery - 仅选中列表中的复选框