2010-06-25 353 views
3

我有幾種形式,我想只選擇每個窗體選擇某元素

$("form input:nth-child(1), form input:nth-child(2)"); 

的第一和第二個輸入框的只有第n個孩子但是,這並不工作,因爲每個輸入旁邊都有一個標籤,所以沒有輸入即nth-child(1)

實施例在jsbin

回答

4

則可以使用:lt()做,這樣的:

$("form input:lt(2)"); 

此選擇符合在所有元素低於所傳遞的指數,第一和第二元件是索引0和1,並且將匹配此選擇器:)

+0

wohoo!一個選擇器而不是兩個! sweeet(: – peirix 2010-06-25 11:05:44

3

可以使用eq()

$("form input:eq(0), form input:eq(1)"); 

這將選擇匹配元件的第一和第二位。

+0

起初我以爲'eq'有問題,但後來我發現它是基於零的......謝謝,雖然(: – peirix 2010-06-25 11:05:00

+0

@peirix:是的,如果你是在*匹配的*元素,索引是基於零的。如果處理作用於DOM節點的函數,它通常是基於一個的。 – 2010-06-25 11:09:42

+1

這是因爲':eq'是一個基於jQuery'eq()'方法的非標準jQuery選擇器,基於0的方法。 'lt'也是如此。 'nnth-child'是一個原生的CSS選擇器; CSS標準採取了所有指標均爲1的非常遺憾的政策。 – bobince 2010-06-25 11:21:58