从具有下划线的多类元素中获取类名

时间:2017-11-13 07:26:56

标签: jquery regex

我有以下元素:

<div class="busatt bus_12_1">data</div>   //classname->bus_databasevalue1_databasevalue2

我需要获取其中有下划线的类。我不能将此类名作为ID名称,因为它有时可能会重复。

我需要这样的东西。

$('busatt').prop('class').match(some regex exp) should give me only ''bus_12_1'' .

我知道,我们可以获得如下的类名:

  var classes = $('busatt').prop('class').split(' ');
  for(var i=0; i<classes.length; i++){
         if( classes[i].indexOf('_') != -1 )
         {
           alert(classes[i]);
         }
  }

我可以使用正则表达式或类似

的单行代码获得结果

1 个答案:

答案 0 :(得分:1)

您可以使用filter()功能减少匹配元素的集合。 这是一个小型演示:

$("div").filter(function() {
        return this.className.match(/\b\w*_\w*\b/);
    })
    .html("Matched!");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="busatt bus_12_1">data</div>

编辑TECHY:

我使用了以下代码并且正在运行:

var new_class=''; 
new_class = $(this).prop('class').match(/\b\w*_\w*\b/).toString();
alert(new_class);