2013-01-02 89 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); 
});​