2015-09-07 286 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

你是对的先生。编辑。 –