2015-09-07 250 views
1

我有一個隱藏的最接近TR這個基本代碼文本是否包含.foo包含字符串:檢查是否div包含從數組

$('.foo:contains("blah")').each(function() { 
    $(this).closest('tr').hide(); 
}); 

但時間已經到了,「嗒嗒」不是唯一的字符串我需要檢查,我知道我現在需要使用一個數組,但不知道如何。

我把胡亂猜測,並試圖:

var arr = ['blah', 'foo', 'bar']; 

$('.foo:contains("+arr[]+")').each(function() { 
     $(this).closest('tr').hide(); 
    }); 

,但無濟於事。

回答

2

你很近,但是你需要遍歷你的數組以檢查每個值。

var arr = ['blah', 'foo', 'bar']; 

var i=0; 
for (; i<arr.length; i++) { 
    $(".foo:contains('"+arr[i]+"')").each(function() { 
     $(this).closest("tr").hide(); 
    }); 
} 
+0

感謝,當時間允許將標記作爲答案。 –

+0

@AnnaRiekic真棒,很高興它爲你工作:) – asdf

-1

像這樣的東西應該工作(儘管可能有更好的方法)。

var arr = ["John", "Jane", "Mike", "Ted"]; 
arr.forEach(function(val){ 
    $(".foo:contains('" + val + "')").each(function(){ 
     $(this).closest('tr').hide(); 
    }); 
}); 
+0

'val'需要在'.foo:contains'的選擇器內單獨引號才能正常運行。 – asdf

+0

你是對的先生。編輯。 –