2013-07-30 78 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

相關問題