2013-04-17 78 views
0

不能刪除所有tr和表,而是刪除所有tr和表。我試圖從這個特定的表格中刪除除了2個td之外的所有國家,但我無法得到正確的語法。jQuery從特定表中刪除特定的td

$("table .country_id td .value").attr("name='location[country_id]'").not("select > option[value='GR']" || "select > option[value='CY']").remove(); 

任何幫助表示讚賞。

注:下面的代碼:

<div class="location_container"> 
<table class="form"> 
<tbody> 
<tr class="country_id"> 
<td class="label">Country<span class="required_star">*</span></td> 
<td class="value"> 
<select name="location[country_id]"> 
<option value="">Select</option> 
<option value="AF">Afghanistan</option> 
<option value="AX">Aland Islands</option> 
... and so on 
+1

['.attr'](http://api.jquery.com/attr/)負載的HTML屬性中選擇的元素。它不選擇東西。使用'[name ='location [country_id']'選擇具有特定屬性的元素(如下面的答案)。 –

回答

0

你有基本的想法了,只是覺得你不選擇是格式不正確。

$('.country_id').find('option').not('[value="GR"], [value="CY"]').remove(); 

jsFiddle

+0

這是完美的。謝謝!我知道我很親密,只是有些事情不對。哇噢 – diskrim

1

嘗試使用filter()

$(".country_id td.value [name^=location] option").filter(function(){ 
    return !(this.value=='GR' || this.value == CY); 
}).remove(); 
+1

你需要'=='而不是第一個'='和''CY''而不是'CY',但是這個工作。 –

+0

這只是刪除值GR和CY。我想刪除所有內容除了這兩個值。對不起,任何困惑.. – diskrim

+0

謝謝@ColinDeClue,這是錯字。 – Adil