2013-07-30 43 views
1

我有这样的功能:jQuery的添加类只有一个锚,而不是所有

$containing = jQuery('#test a').filter(function(){ 
    return jQuery(this).text().substring(0,2) == "Ba"; 
}); 

if ($containing.length > 0) { 
    $containing.first().addClass('testtt'); 
} 

这增加了class它找到的第一个锚,但是这不是我想要的。我想给所有包含Ba的anchors上课...我试图用each替换first,但没有发生任何事情。有人可以帮我吗?

回答

3

只要删除.first(),那么它将应用于jQuery数组中的所有对象,而不仅仅是第一个。

$containing = jQuery('#test a').filter(function(){ 
    return jQuery(this).text().substring(0,2) == "Ba"; 
}); 

if ($containing.length > 0) { 
    $containing.addClass('testtt'); 
} 
+0

拍摄!那简单!谢啦! – user1770896

+0

@ user1770896,是的:)很高兴它帮助。 – Sergio

2

刚删除.first()。链接在jQuery中允许将大多数函数应用于所有选定的元素。

$containing = jQuery('#test a').filter(function(){ 
    return jQuery(this).text().substring(0,2) == "Ba"; 
}); 

if ($containing.length > 0) { 
    $containing.addClass('testtt'); 
} 
+0

谢谢你,这确实是一个非常简单的解决方案。 Upvoted! – user1770896

+0

@ user1770896很高兴能帮到你。你会注意到,如果你有'console.log($ contains)'这是一个jQuery对象的数组。 –

+0

是的,确实如此。谢啦! – user1770896

相关问题