当我有一个for链接循环时,我遇到了这个问题,我希望每个链接都通过jquery发出警报,但是只有第一个链接可以工作。.可能是什么问题?

        <link rel='stylesheet' href='CSS/nook.css' type='text/css' media='screen, projection' />
        <script type="text/javascript" src="JS/jquery-1.10.2.min.js"></script>


这是我的剧本

        <script>
        $(document).ready(function() {
            $("#click").click(function(e)
            {
                e.preventDefault();
                alert("hi");
            });
         })
        </script>


这是我的循环

        <?php
         for($i=0;$i<2;$i++){
           echo "<a href = '' id = 'click'>a</a><br>";
         }
         ?>

最佳答案

元素的ID必须是唯一的,请使用类将相似的元素分组

    <?php
     for($i=0;$i<2;$i++){
       echo "<a href = '' class='click'>a</a><br>";
     }
     ?>


然后

    <script>
    $(document).ready(function() {
        $(".click").click(function(e)
        {
            e.preventDefault();
            alert("hi");
        });
     })
    </script>


使用id-selector时,它将仅返回具有给定id的第一个元素,其他元素将被忽略。因此,在您的情况下,点击处理程序将仅注册到ID为click的第一个元素

10-06 12:22
查看更多