Javascript 使用jQuery.class选择器获取数据属性

Javascript 使用jQuery.class选择器获取数据属性,javascript,jquery,dom,onclick,click,Javascript,Jquery,Dom,Onclick,Click,我想为整个元素类触发onClick事件。通常,我会这样做: $(".classy").click(function(){ console.log("Replace this line with something useful!"); }); 但是,这个类的每个元素都有不同的数据属性,我想在onClick函数中使用这些属性。例如: <div className="classy" data-num={100}></div> <div className="c

我想为整个元素类触发onClick事件。通常,我会这样做:

$(".classy").click(function(){
    console.log("Replace this line with something useful!");
});
但是,这个类的每个元素都有不同的数据属性,我想在onClick函数中使用这些属性。例如:

<div className="classy" data-num={100}></div>
<div className="classy" data-num={931}></div>
<div className="classy" data-num={777}></div>


单击每个元素时,我希望记录
data num
值。有没有办法用jQuery的
做到这一点。单击

这里是解决方案

$(“.classy”)。单击(函数(){
log(“第一种方式:+$(this.attr('data-num'));
log(“第二种方式:+$(this.data('num'));
log(“用有用的东西替换此行!”);
});

100
931

777
这对您很好-

$('body').on('click','.classy',function(){
   console.log($(this).attr('data-num'));
});

我正在使用主体,这样即使您使用AJAX(动态)添加div,
单击
也会起作用。

所以您想要的是
div的
数据num
,单击鼠标右键即可。只需在事件句柄内执行
this.dataset.num
,选择器匹配多个元素,但是,这些事件并不作为一个整体绑定到集合,而是绑定到集合中的每个单独元素。因此,在其中一个元素上触发事件不会触发其他元素上的事件。在函数中,您将有一个触发事件的元素,即
this