Jquery 在元素中查找类名的其他属性

Jquery 在元素中查找类名的其他属性,jquery,Jquery,我有以下代码: <div class="_GAb-_GAd"> <div class="_GANmb _GAe ACTION-removeFilter TARGET-1">clear</div> </div> <div class="_GAb-_GAd"> <div class="_GANmb _GAe ACTION-removeFilter TARGET-2">clear</div> <

我有以下代码:

<div class="_GAb-_GAd">
    <div class="_GANmb _GAe ACTION-removeFilter TARGET-1">clear</div>
</div>

<div class="_GAb-_GAd">
    <div class="_GANmb _GAe ACTION-removeFilter TARGET-2">clear</div>
</div>

清楚的
清楚的
和脚本(Jquery)


$(文档).ready(函数(){
$(“.ACTION removeFilter”)。单击(函数(){
警报('找出正在单击的目标');
});
});
我想知道正在单击哪个目标(目标1或目标2)。有办法找到答案吗


我怎么知道呢?

你可以在className上使用
regex

var target = $(this).attr('class').match(/\b(TARGET-[^ ]+)/)[1];

  • \b
    :单词边界
  • ()
    :捕获组。可以使用数组的第二个索引(1)访问
  • TARGET-
    :按字面意思匹配
    TARGET-
  • [^]*
    ^
    :不是。匹配任何非空格的内容,零次或多次
  • 注意:要不敏感地匹配大小写,请使用
    i
    标志。我假设在
    -
    之后总会有一些东西,所以使用
    +

    演示:

    $(文档).ready(函数(){
    $(“.ACTION removeFilter”)。单击(函数(){
    console.log($(this.attr('class')).match(/\b(TARGET-[^]+)/)[1]);
    });
    });
    
    
    清楚的
    清楚的
    检查这个
    
    TARGET-1或TARGET-2的正则表达式执行。如果它包含TARGET-XYZXYZ或TARGET-ABC-XYX-QIE,该怎么办?@Venkat我假设总有一个数字,现在用空格来分隔类名。检查更新。@Venkat Welcome:)很乐意帮助运行代码段,但在我的google chrome浏览器中不起作用。@Venkat对我起作用,打开浏览器控制台,检查是否有任何错误
    var target = $(this).attr('class').match(/\b(TARGET-[^ ]+)/)[1];