如何使用jquery / javascript将字符串的一部分与数组值进行匹配

时间:2012-04-02 16:03:24

标签: javascript jquery arrays

我有一个javascript数组:

var exclude = ["Santorum","Obama","Romney","Gingrich"];

我有html链接:

<a href="" class="title">Santorum is seeking campaign funding</a>
<a href="" class="title">Clinton is stepping down as Secretary</a>
<a href="" class="title">Obama is seeking reelection</a>

我想检查任何一个a-links是否包含其中的任何一个exclude-values,如果有,则删除它们。结果将是:

<a href="" class="title">Clinton is stepping down as Secretary</a>

其他两个将被删除,因为它们拥有数组中的单词。我尝试过使用jQuery.inArray,但我似乎无法弄明白。谢谢你的帮助。

2 个答案:

答案 0 :(得分:5)

类似的东西:

var exclude = ["Santorum","Obama","Romney","Gingrich"];

$('a.title').filter($.map(exclude, function (val) {
    return ':contains("' + val + '")';
}).join()).remove();

http://jsfiddle.net/SxP2a/

答案 1 :(得分:2)

尝试循环排除已排除的字词,并删除包含这些字词的链接。

例如(使用:contains selector):

$.each(exclude, function(i, v){
    $('a.title:contains("'+v+'")').remove();
});

DEMO:http://jsfiddle.net/H6FPb/

编辑:你说<a>包含在<div>中,然后就可以了:

$.each(exclude, function(i, v){
    $('a.title:contains("'+v+'")').parent('div').remove();
});