想知道是否有一种方法可以扩展以下代码以允许搜索相似但不精确的类。
我的目标:匹配 foo-123 和 bar-123 并将一个类附加到类 bar-123 的链接以表明它已匹配:
页面结构:
(Foo- 和 Bar- 是预设的,并且始终相同。只是数字发生了变化。)
<body class="foo-123">
<a href="#" class="bar-123">Item 123</a>
<a href="#" class="bar-456">Item 456</a>
<a href="#" class="bar-789">Item 789</a>
</body>
问题:目前只有完全匹配有效:
$('a').each(
function(i) {
var classes = this.className.split(/\s+/);
for (var i=0,len=classes.length; i<len; i++){
if ($('body').hasClass(classes[i])){
$(this).addClass('bodySharesClass');
}
}
});
提前谢谢你。
编辑:请注意,此问题与其他帖子不同,因为已设置前缀但编号未知。我发现的其他问题集中在寻找特定类别或类别中的特定单词。 @madalin ivascu 的回答很完美,@Braj 的评论也很有帮助,谢谢!
最佳答案
尝试下面的循环
$('[class^=bar]').each(function(i,v){
var numb = $(this).attr('class').split('-')[1];
if ($('body').is('.foo-'+numb)) {
$(this).addClass('bodySharesClass');
}
});
关于jquery - 检查 Jquery 是否存在相似(但不完全)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38559471/