2012-04-02 32 views
0

我有一个JavaScript阵列,以配合阵列值的字符串的一部分:如何使用jQuery/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-链接中有任何一个排除值,如果他们这样做,则删除它们。所以结果是:

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

其他两个将被删除,因为他们拥有数组中的单词。我试过使用jQuery.inArray,但我似乎无法弄清楚。 Thx为您提供帮助。

回答

5

例如:

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

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

http://jsfiddle.net/SxP2a/

+0

thx,它的工作原理。如果我想删除包含a-link的div,该怎么办? – 2012-04-02 16:19:02

+1

@Tomi然后在'remove()'前加上'.closest('div')'' – mshsayem 2012-04-02 16:21:18

+0

非常感谢 – 2012-04-02 16:33:24

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(); 
}); 
+0

thx,它的工作原理。如果我想删除包含a-link的div,该怎么办? – 2012-04-02 16:19:11

+0

@TomiSeus:那么你会''parent('div')。remove()' – 2012-04-02 16:20:08

+0

非常感谢 – 2012-04-02 16:33:15