2014-02-18 39 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")