0

我有一个相当直截了当的问题。为什么我不能$('a.view').attr('id')在我的点击函数中使用 (Ref //1 in code)?我试过了,它没有工作,但this.id工作。我想我主要想知道下面代码上下文的区别:

displayRecord.php(以下链接调用click函数):

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

编辑票证.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');

                });

            });
4

2 回答 2

3

$('a.view').attr('id')可以匹配多个元素,如果你有一个类的多个锚点,所以如果你在事件中view使用它,你不一定会得到点击的元素。仅指被点击的元素,也是最快的方式,但为了证明你也可以这样做:clickthis.id

$(this).attr('id'); // in the click event
于 2013-01-02T09:49:44.253 回答
1

这个这个,看看你是否收到任何警报:

$(document).on('click', 'a.view', function(e) {
    alert($(this).attr('id'));
    alert(this.id);
});​
于 2013-01-02T09:52:59.387 回答