2013-09-22 48 views
6

我有一個表與5列與Id下的div。我想在2,3和5列上通過Jquery添加點擊處理程序。我可以做這樣的事情CSS多個沒有模式的第n個孩子到一個選擇器

$('#myDiv td:nth-child(2), #myDiv td:nth-child(2n+3)').click(function(){ 
    alert('clicked'); 
}); 

我想知道是否有任何其他或更好的方式來結合這兩個孩子在一起。

+0

什麼是你想用'2N + 3'辦? – Itay

+0

獲得第3列和第5列 – KhanSharp

+0

這將返回從第3列開始的每第二個元素。 3,5,7,9等。 – Itay

回答

14

這可能是最好的辦法:

$('#myDiv td').filter(':nth-child(2), :nth-child(3), :nth-child(5)')... 

有一個較短的方式,但我不建議這樣做,因爲它真的再加上DOM (假設你只有5元素,比如你在評論中說: )

$('#myDiv td:not(:nth-child(3n - 5))')... 

jsFiddle Demo

+1

我明白你的意思,但我的問題是關於第十一個孩子。多個項目。 – KhanSharp

+1

那麼這回答你的問題。沒有辦法做到這一點:nth-​​child選擇器。即使有一個複雜的計算會返回2,3,5這是不可取的,因爲它是不可讀的,加上HTML結構 – Itay

+0

非常感謝你的答案 – KhanSharp