2012-04-02 19 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