Javascript 如何将单击的div的类名作为参数传递给函数

Javascript 如何将单击的div的类名作为参数传递给函数,javascript,html,function,class,parameters,Javascript,Html,Function,Class,Parameters,这可能是最基本的,但从我所做的研究中,我找不到JAVASCRIPT所需的结果 有两个数字变量。它们是“主号码”和“按钮号码” mainnumber由math.random生成。 buttonnumber是不同类名末尾的数字。 这意味着当单击的div具有类名class='example1'时,buttonnumber=1 这意味着当单击的div具有class='example2'等类名时,buttonnumber=2 大约有50个div有自己的类名,例如example1、example2等等。一些

这可能是最基本的,但从我所做的研究中,我找不到JAVASCRIPT所需的结果

有两个数字变量。它们是“主号码”和“按钮号码” mainnumber由math.random生成。 buttonnumber是不同类名末尾的数字。 这意味着当单击的div具有类名class='example1'时,buttonnumber=1 这意味着当单击的div具有class='example2'等类名时,buttonnumber=2

大约有50个div有自己的类名,例如example1、example2等等。一些类名在div之间重复

单击按钮时,将调用函数“compareaction”来比较“mainnumber”和“buttonnumber”,并执行另一个调用的函数 “resultcorrect”或“ResultRong”取决于比较

//这里是比较代码

function compareaction(buttonnumber){
    if (mainnumber == buttonnumber){
        resultcorrect();    
    } else {
        resultwrong();
    }
}
我需要知道如何将类名末尾的数字(即1、2、3或4等)传递给函数

<div class="example1" onclick="compareaction(\\number in class name as a parameter)"></div>

将类名传递给函数

<div class="example1" onclick="compareaction(this.className)">

将类名传递给函数

<div class="example1" onclick="compareaction(this.className)">

将类名传递给函数

<div class="example1" onclick="compareaction(this.className)">

将类名传递给函数

<div class="example1" onclick="compareaction(this.className)">


谢谢你的帮助。但是我需要比较类名的最后一个数字,否则只传递类名的最后一个数字。您解释的代码传递名称“example1”,而我只需要传递名称“1”。最好在函数内部使用类名,例如使用regex:
className.match(/\d+$/)[0]
我建议不要为此使用类名,并使用数据属性在其中存储数据:
在分析函数中,使用
this.getAttribute('data-number')获取此属性。
很抱歉打扰您,但您能解释一下className.match(/\d+$/)[0]我是js新手。)这意味着我们希望使用正则表达式/\d+$/,在类名的末尾匹配一个或多个数字,它返回匹配的标记数组,在本例中,是您要查找的数字:example1->1,example2->2,example37->37谢谢您的方法。但是我需要比较类名的最后一个数字,否则只传递类名的最后一个数字。您解释的代码传递名称“example1”,而我只需要传递名称“1”。最好在函数内部使用类名,例如使用regex:
className.match(/\d+$/)[0]
我建议不要为此使用类名,并使用数据属性在其中存储数据:
在分析函数中,使用
this.getAttribute('data-number')获取此属性。
很抱歉打扰您,但您能解释一下className.match(/\d+$/)[0]我是js新手。)这意味着我们希望使用正则表达式/\d+$/,在类名的末尾匹配一个或多个数字,它返回匹配的标记数组,在本例中,是您要查找的数字:example1->1,example2->2,example37->37谢谢您的方法。但是我需要比较类名的最后一个数字,否则只传递类名的最后一个数字。您解释的代码传递名称“example1”,而我只需要传递名称“1”。最好在函数内部使用类名,例如使用regex:
className.match(/\d+$/)[0]
我建议不要为此使用类名,并使用数据属性在其中存储数据:
在分析函数中,使用
this.getAttribute('data-number')获取此属性。
很抱歉打扰您,但您能解释一下className.match(/\d+$/)[0]我是js新手。)这意味着我们希望使用正则表达式/\d+$/,在类名的末尾匹配一个或多个数字,它返回匹配的标记数组,在本例中,是您要查找的数字:example1->1,example2->2,example37->37谢谢您的方法。但是我需要比较类名的最后一个数字,否则只传递类名的最后一个数字。您解释的代码传递名称“example1”,而我只需要传递名称“1”。最好在函数内部使用类名,例如使用regex:
className.match(/\d+$/)[0]
我建议不要为此使用类名,并使用数据属性在其中存储数据:
在分析函数中,使用
this.getAttribute('data-number')获取此属性。
很抱歉打扰您,但您能解释一下className.match(/\d+$/)[0]我是js新手。)这意味着我们希望使用正则表达式/\d+$/,在类名的末尾匹配一个或多个数字,它返回匹配标记的数组,在本例中是-您要查找的数字:example1->1,example2->2,example37->37您确定元素上只有一个类吗?如果不是,最好使用自定义的
data-
属性而不是类名。您确定元素上只有一个类吗?如果不是,最好使用自定义的
data-
属性而不是类名。您确定元素上只有一个类吗?如果不是,最好使用自定义的
data-
属性而不是类名。您确定元素上只有一个类吗?如果没有,最好使用自定义的
data-
属性,而不是类名。