2014-02-18 41 views
0

我有这个问题,当我有一个链接的循环,我希望每个链接通过jquery警报,但只有第一个链接工作..可能是什么问题?PHP 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> 

这是我的循环

​​

回答

4

元素的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的第一个元素,其他将被忽略。因此,在您的情况下,点击处理程序将仅注册到第一个元素,其编号为click

+0

这是很棒的!谢谢! – Nhiz

+0

这是可能的,如果我在jQuery提交表单? – Nhiz

+0

@Nhiz你可以调用'$('form')。submit()' –

0

ID是唯一的,每个页面应该只有1个。因此,这是错误的:

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

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

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

你访问类使用jQuery的方法是用.而不是#

$(".click")