获取<a> selector using jquery

时间:2015-05-28 12:49:25

标签: javascript jquery html events

<div>
    <ul>
        <li><a id="Tab1" href="">Tab1</a></li>
        <li><a id="Tab2" href="">Tab2</a></li>
        <li><a id="Tab3" href="">Tab3</a></li>
        <li><a id="Tab4" href="">Tab4</a></li>
    </ul>
</div>
<script>
$(document).ready(function() {
    $("a").click(function() {
        var IdName = $("a").attr('id');
        alert(IdName);
    });
});
</script>

When I click the hyperlink, it always shows id of the first hyperlink. Why ? How can I solve it ?

3 个答案:

答案 0 :(得分:5)

在事件处理程序中,this是您想要的元素。

更改

var IdName = $("a").attr('id');

var IdName = this.id;

注意:使用$(this).attr('id')没有任何意义,这是无用的慢速和冗长,总是使用直接this.id

答案 1 :(得分:1)

您可以在$(this)事件处理程序中使用click。事件处理程序中的$(this)是单击的anchor

$("a").on('click', function() {
    alert($(this).attr('id'));
    // return false OR e.preventDefault to stop redirection
});

答案 2 :(得分:1)

您正在attr()上调用$('a'),这将为您提供第一个匹配元素的属性。使用$(this)获取当前点击的锚标记

$(document).ready(function(){
      $("a").click(function(){
          var IdName = $(this).attr('id');
          alert(IdName);
      }); 
});