2016-01-17 101 views
2

這個問題已經被問過,但我仍然沒有得到答案
問題是如果元素包含文本,添加類。但是有兩個同級的元素。
對於實例向最近的孩子添加班級

<div class="xyz">123</div> 
<div class="add">...</div> 


<div class="xyz"></div> 
<div class="add">...</div> 

爲什麼犯規這項工作?

if ($('div.xyz:contains("123")').length > 0) { 
$(this).next(".add").addClass("long"); 
} 
+1

我不認爲'$(這)'是引用你怎麼想的在這種情況下。 – CollinD

+0

那麼應該是什麼? –

+0

只需刪除您的條件,並用您的選擇器替換'this'。或者甚至更好,每Anik的答案使用'each'函數。 – CollinD

回答

5

嘗試這樣

$('div.xyz:contains("123")').each(function(){ 
    $(this).next(".add").addClass("long"); 
}) 

DEMO

+0

感謝作品完美:) –

0

簡體版本也應該工作

$('div.xyz:contains("123") +.add ').addClass("long");