我有以下元素:
<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]);
}
}
我可以使用正则表达式或类似
的单行代码获得结果答案 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);