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

时间:2015-11-04 14:22:20

标签: 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>

和脚本(Jquery)

<script>
    $(document).ready(function() {
        $(".ACTION-removeFilter").click(function() {
            alert('find out which TARGET is being clicked.');
        });
    });
</script>

我想知道点击了哪个TARGET(TARGET-1或TARGET-2)。有没有办法找出来?

我怎么知道呢?

1 个答案:

答案 0 :(得分:5)

您可以在className上使用regex

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

Regex Demo and Explanation

  1. \b:Word Boundary
  2. ():捕获群组。可以使用数组的第二个索引(1)
  3. 访问
  4. TARGET-:按字面意思匹配TARGET-
  5. [^ ]*^:不是。匹配任何非空间,零次或多次的内容。
  6. 注意:要匹配不区分大小写,请使用i标记。我假设在使用- + $(document).ready(function() { $(".ACTION-removeFilter").click(function() { console.log($(this).attr('class').match(/\b(TARGET-[^ ]+)/)[1]); }); });之后总会有一些东西。

    <强>演示:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <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>
    
    <div class="_GAb-_GAd">
      <div class="_GANmb _GAe ACTION-removeFilter TARGET-My_Beautiful_class_488">Check this</div>
    </div>
    <?php
    // DB Connect
    if(($_POST['form2'])&&($_POST['job'])&&($_POST['textaria'])) {
        // Display the stored record
    }
    // Form for adding more records
    ?>