2013-01-02 122 views
0

我有一個相當直接的問題。爲什麼在我的點擊功能中不能使用$('a.view').attr('id')(代碼中的Ref // 1)?我試過了,但它失敗了,但this.id的作品。我想我主要是想知道在下面的代碼的情況下的區別:在點擊功能中獲取ID通過href鏈接

displayRecord.php(以下鏈接調用點擊功能):

echo '<td><a href="#" style="text-decoration: none;" id="'.$data['id'].'" class="view" ><input type="button" value="View" /></a></td>'; 

editTicket.php:

$('a.view').click(
      function(e) 
       {  
          //1      
          var ticket_id = this.id; 

        dlg.load('displayRecord.php?id='+this.id, function(){       

        var escalationValue = ''; 

        $.post('escalateValue.php',{post_ticket_id:ticket_id}, 
        function(data) { 

         if (data == 'No'){ 
          showCount(); 
         } 
        }); 

        dlg.dialog('open'); 

       }); 

      }); 

回答

3

$('a.view').attr('id')可以匹配多個元素,如果你有一個view類中的多個錨,所以你不一定會得到CL如果您在click事件中使用該元素,則會出現錯誤的元素。 this.id僅指這是點擊,也將是最快的方法元素,而是說明你也可以這樣做:

$(this).attr('id'); // in the click event 
1

這本,看看你得到任何警報或不:

$(document).on('click', 'a.view', function(e) { 
    alert($(this).attr('id')); 
    alert(this.id); 
});​