jquery:从类选择器获取id

发布于 2024-10-27 19:21:49 字数 338 浏览 0 评论 0原文

有什么方法可以从类似以下内容获取元素的 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>

然后绑定

$('.test')

那么当我单击其中一个元素时我会返回 id 吗?

Is there any way that I can get the id of an element from something like:

<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>

and then I bind

$('.test')

so when I click one of the elements I get back the id?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

诺曦 2024-11-03 19:21:49

哦..如果我没听错的话,它应该很简单:

$('.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 属性即可。

Doh.. If I get you right, it should be as simple as:

$('.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>

You can just access the id property over the underlaying dom node, within the event handler.

去了角落 2024-11-03 19:21:49

在jquery中使用“attr”方法。

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

Use "attr" method in jquery.

$('.test').click(function(){
    var id = $(this).attr('id');
});
不及他 2024-11-03 19:21:49

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

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

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

When you add a click event, this returns the element that has been clicked. So you can just use this.id;

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

Example: http://jsfiddle.net/jonathon/rfbrp/

空气里的味道 2024-11-03 19:21:49

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

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

这篇文章将进一步讨论:.prop() 与 .attr()

As of jQuery 1.6, you could (and some would say should) use .prop instead of .attr

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

It is discussed further in this post: .prop() vs .attr()

独自唱情﹋歌 2024-11-03 19:21:49

如果您使用粗箭头函数,请务必小心,因为 this.id 将变得未定义
今天浪费了10分钟想知道到底发生了什么

Be careful if you use fat arrow functions as you will get undefined for this.id
Wasted 10 minutes today wondering what the hell was going on

掩耳倾听 2024-11-03 19:21:49
$(".class").click(function(){
    alert($(this).attr('id'));
});

只有在 jquery 按钮上单击我们才能执行该类应该写在那里

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

only on jquery button click we can do this class should be written there

走过海棠暮 2024-11-03 19:21:49

这个例子中没有任何内容对我有用

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'));
    });

Nothing from this examples , works for me

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'));
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文