jquery:从类选择器获取id

时间:2011-03-29 09:55:59

标签: javascript jquery html

有没有办法可以从以下内容中获取元素的id:

<a href="#" class="test" id="test_1">Some text</a>
<a href="#" class="test" id="test_2">Some text</a>
<a href="#" class="test" id="test_3">Some text</a>

然后我绑定

  

$( '试验')

所以当我点击其中一个元素时,我会找回id?

7 个答案:

答案 0 :(得分:85)

Doh ..如果我找对你,那应该是这样简单:

$('.test').click(function() {
  console.log(this.id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="test" id="test_1">Some text</a>
<a href="#" class="test" id="test_2">Some text</a>
<a href="#" class="test" id="test_3">Some text</a>

您可以在事件处理程序中通过 dom节点下的 id属性进行访问

答案 1 :(得分:38)

在jquery中使用“attr”方法。

$('.test').click(function(){
    var id = $(this).attr('id');
});

答案 2 :(得分:7)

添加点击事件时,this会返回已点击的元素。所以你可以使用this.id;

$(".test").click(function(){
   alert(this.id); 
});

示例:http://jsfiddle.net/jonathon/rfbrp/

答案 3 :(得分:3)

从jQuery 1.6开始,您可以(有些人会说应该)使用 .prop 而不是。 attr

$('.test').click(function(){
    alert($(this).prop('id'));
});

本文将进一步讨论:.prop() vs .attr()

答案 4 :(得分:3)

如果你使用胖箭头函数要小心,因为你将不会为this.id定义 今天浪费了10分钟,想知道到底发生了什么事情

答案 5 :(得分:2)

$(".class").click(function(){
    alert($(this).attr('id'));
});

仅在jquery按钮上单击我们可以写这个类应该写在那里

答案 6 :(得分:0)

此示例中没有任何内容适用于我

for (var i = 0; i < res.results.length; i++) {
        $('#list_tags').append('<li class="dd-item" id="'+ res.results[i].id + '"><div class="dd-handle root-group">' + res.results[i].name + '</div></li>');
}

    $('.dd-item').click(function () {
    console.log($(this).attr('id'));
    });