Pin*_*kie 19 javascript jquery class
我有一个没有特定顺序的几个班级的div.
<div class="whatever styledark myclass"></div>
Run Code Online (Sandbox Code Playgroud)
我对Styledark类感兴趣.这可以是styledark,stylewhite,stylered ....我想得到这个类名,无论字样式后面是什么颜色.问题是,当我点击div时,我如何提醒这个类名称以单词样式开头而忽略div中的其他类.这些课程没有特定的顺序.
Hus*_*ein 17
这是一个很好的问题.虽然可以使用这里提到的许多答案来完成,但这有点尴尬和昂贵的性能明智.我建议你这样做的方法是将样式类放在最后,这样只需要一行代码就可以输出你所追求的类名.
$('element').attr('class').split(' ').pop();
Run Code Online (Sandbox Code Playgroud)
$('div').click(function() {
var style = this.className.split(/\s/).filter(function( cn ) {
return cn.indexOf('style') === 0;
});
alert(style);
});
Run Code Online (Sandbox Code Playgroud)
请注意,此代码使用Array.prototype.filter和.indexof(),这在旧的浏览器中不可用.为了使它更通用,它看起来像:
$('div').click(function() {
var name = '';
$.each(this.className.split(/\s/), function( _, cn ) {
if( cn.indexOf('style') === 0 ) { name = cn; return false; }
});
alert(name);
});
Run Code Online (Sandbox Code Playgroud)