javascript - 循环中的简单 JavaScript 代码

标签 javascript php jquery

该脚本循环遍历数字 1-20。我发现标签重复了 20 次。

<?php for ($i = 1; $i <= 20; $i++) { ?>
    <button id="btn-<?php echo $i;?>">Button<?php echo $i;?></button>
    <script type="text/javascript">
        $('#btn-<?php echo $i;?>').clck(function() {
            alert("you clicked button <?php echo $i;?>");
        }); 
<?php } ?>

我想做$('#btn-<?php echo $i;?>').clck(function() {....一旦超出循环

最佳答案

您在此处编写的代码是反模式。对循环中的所有元素使用公共(public)类,并将单个事件处理程序附加到该类。例如:

<?php for ($i = 1; $i <= 20; $i++) { ?>
    <button class="foo" data-id="btn-<?php echo $i;?>">Button<?php echo $i;?></button>
<?php } ?>
// in an external .js file far, far away
$('.foo').click(function() {
    console.log("You clicked button " + $(this).data('id'));
});
<小时/>

这是一个可运行的代码片段。注意 PHP 只需生成下面的 HTML。然后 JavaScript 会将 click 事件处理程序附加到每个按钮。

$('.foo').click(function() {
  console.log("You clicked button " + $(this).data('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="foo" data-id="1">Button 1</button>
<button class="foo" data-id="2">Button 2</button>
<button class="foo" data-id="3">Button 3</button>
<button class="foo" data-id="4">Button 4</button>

关于javascript - 循环中的简单 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40386351/

相关文章:

php - 如何使用 laravel 4. for windows 文件系统导出 mysql 数据库

php - 为什么Stripe的webhooks不需要验证签名?

javascript - 如何在 jQuery 中模拟无限数量的元素

javascript - 在 div 中向下滚动(在 Firefox 和 IE 中!)

javascript - 如何选择嵌套了两个 .each() 函数的多个元素?

javascript - 如果使用 fetch 从服务器检索,则未设置 Redux 初始状态

javascript - 更新 css 文件并缩小它

php - 无法理解如何使用 PHP DOMDocument::getElementById

javascript - 如何断开在特定时间内不活跃聊天的客户端的连接(socket.io,javascript)

javascript - 我如何在单击按钮时在运行时调用函数,如下面的代码所示