javascript - 如何调用父变量i++

标签 javascript jquery

我在一个页面上有多个按钮,并希望它们执行类似的任务。在 PHP 中我可以设法做到这一点,但在 JavaScript 中我似乎无法让它工作:

for (i= 0; i<5; i++){
  $("#btn_"+i).click(function(){
    alert(i);                                 
  });
}

警报始终为5

我的 PHP 解决方案工作正常,但我想减少在页面上编写的代码...

<?php
for ($i= 0; $i<5; $i++){
?>

  $("#btn_page-<?php print $i; ?>").click(function(){
    $("#btn_"+i).click(function(){
      alert("<?php print $i; ?>");                                 
    });

<?php
}
?>

最佳答案

你需要为此关闭。您也可以使用 jQuery 传递事件数据内的引用:

for(i = 0; i < 5; i++) {
    $("#btn_"+i).click({ counter: i }, function(e) {
        alert(e.data.counter);                                 
    });
}

这是一个jsFiddle .

关于javascript - 如何调用父变量i++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323198/

相关文章:

javascript - 使用Javascript将fontWeight的CSS属性应用于单选按钮的标签标签

javascript - 在多个页面上平滑滚动导航

javascript - 找到破坏两个字符串之间匹配的索引

jquery - 部分 View 刷新后js文件未加载

JavaScript 函数未在 asp.net 中按预期执行

javascript - 带有事件的嵌套元素

javascript - indexedDB objectStore.get() 总是返回 undefined,尽管在 DB 中有结果

jquery - 显示/隐藏提交按钮

javascript - 向 dom 元素添加带条件的动态样式

jquery - 为什么多次调用 jQuery UI Position 会导致不同的放置?