4

我想获取一个 id 作为被点击的 div 的字符串。有可能吗?

HTML

<div id="test">
    <div class='button' id="a" ><p>Click 1</p></div>
    <div class='button' id="b" ><p>Click 2</p></div>
    <div class='button' id="c" ><p>Click 3</p></div>
    <div class='button' id="d" ><p>Click 4</p></div>
</div>

我可以做这样的事情:

  $("#a").click(function() {
      /* do some action with this div */
  });

但是我想检测一下刚刚点击的div的id,因为我会有很多这样的div,一遍又一遍地重写同样的代码是没有意义的。

4

3 回答 3

5
$("#a").click(function() {
    var id = this.id;
});

如果您需要click为所有元素设置事件.button,这是一种捷径:

$(".button").click(function(e) {
    var id = this.id;  // or e.target.id;
});
于 2013-01-22T21:39:35.940 回答
2
$("div.button").click(function() {
    console.log(this.id);
});
于 2013-01-22T21:39:49.510 回答
0
$(this).attr('id')

会给你 id,但如果你想访问 div,你可以使用

$(this).parent('div')

这只会在直接父级是 div 时返回,如果想找到你可以使用

$(this).parents('div')
于 2013-01-22T21:41:46.747 回答