2013-02-13 90 views
2

)我想要一個項目列表(每個tr中的td),除了某些列,比如說第2列和第3列。如何做呢?我可以修飾特定的td以排除某些屬性,或者我可以僅基於索引排除它們。 下面的示例刪除了我想要的項目,但我實際上想要附加到鼠標懸停事件,但爲簡單起見而省略。從列表中選擇不包含多個項目的項目(基於索引

這裏是腳本中獲取的所有列,除了最後2列(例如不排除最後2):

$('table').find("tr td:not(:nth-last-child(-n+2))").remove(); 

我想這排除刪除第二和第三,但它不喜歡的逗號分隔的選擇(我想你可以做一個多選擇這樣嗎?):

$('table').find("tr td:not(:nth-last-child(2),:nth-last-child(3))").remove(); 

下面的例子是jsfiddle

編輯:我使用JavaScript 1.8.3

+1

你正在使用哪個jQuery版本?它工作正常jQuery 1.9.1 – 2013-02-13 11:24:26

+0

很抱歉忘了添加,我使用1.8.3。在1.9.1中似乎工作正常,但在1.8.3中不起作用,如果你看看jQuery 1.9中添加了選擇器的jsfiddle – GregS 2013-02-13 12:23:35

+0

。這就是爲什麼它適用於jQuery 1.9.1,但不適用於1.8.3 – 2013-02-13 13:05:47

回答

0
$('table').find("tr td").not(':nth-last-child(2), :nth-last-child(3)'); 
2

你的代碼工作正常,您使用的是舊版本的jQuery(1.7)的。在jQuery 1.9中添加了The :nth-last-child selector。升級,它會正確運行。

+0

http://jsfiddle.net/m7U2m/2/ – nbrooks 2013-02-13 11:26:17

+1

啊是的,我給了你錯誤的鏈接抱歉,但罰款。我打開了5個以上的JSFiddle選項卡並複製了錯誤的選項卡。 – 2013-02-13 11:27:07

0

請嘗試以下,

$('table').find("tr td::not(:eq(2)):not(:eq(1))"); 

我希望這會幫助你。

相關問題