所以我有一组生成的div,其中有一个名为" class1"的类。我需要能够为它们分配一个名称或ID,然后使用JQuery注册我已经点击了这些div中的特定一个。我有这个代码,但这并不起作用,因为我所知道的是如何选择类名:
jQuery(".class1").click(function () {
// do something
});
我需要能够获取该被点击的div的唯一标识符并将其用于某些内容
答案 0 :(得分:3)
要访问所点击元素的ID,您可以访问id
的{{1}}属性,该属性包含所点击的HTML元素的上下文。
this
您提到动态元素,在这种情况下,您需要在添加元素后绑定事件或使用委托绑定。
对于jQuery 1.7及更高版本,请使用on():
jQuery(".class1").click(function () {
// do something
var theId = this.id; // contains the id of the clicked element, assuming is has an id.
});
对于jQuery 1.6及更早版本,使用delegate():
jQuery("body").on("click", ".class1", function () {
// do something
var theId = this.id;
});
答案 1 :(得分:1)
如果你是DOM加载后的生成类名,那么你需要使用委托事件处理程序。
jQuery('body').on('click', '.class1', function() {
// to assign name
$(this).attr('name', 'someName');
// to assign ID
$(this).attr('id', 'someUniqueID');
// to get
this.id // to get id
this.name // to get name
});
注意:强>
如果是委托事件处理,则应使用.class1
而不是body
的任何静态容器元素。这是有效和最好的方式。