php for循环没有发送到jquery

时间:2014-02-18 00:05:32

标签: javascript php jquery

当我有一个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>";
         }
         ?>

2 个答案:

答案 0 :(得分:4)

元素的ID必须是唯一的,使用class对相似的元素进行分组

    <?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的第一个元素,其他元素将被忽略。因此,在您的情况下,单击处理程序将仅注册到具有标识click

的第一个元素

答案 1 :(得分:0)

ID是唯一的,每页只能有1个。所以这是错误的:

<a id="unique"></a>
<a id="unique"></a>

相反,您需要使用一个类:

<a class="not_unique"></a>
<a class="not_unique"></a>

使用jquery访问类的方式是使用.而不是#

$(".click")