下面是我在哪裏:當CSS選擇器匹配N個元素時,如何僅獲取某個索引處的元素?
// Running this CSS selector:
$(".contact-form form")
// Returns this:
// [form, form]
我希望能夠率先拿到這些形式而已,或者也許只是第二。
我試圖用一些CSS pseudoselectors但沒有奏效:
$(".contact-form")
// [div.modal-inner.contact-form, div.modal-inner.contact-form]
$(".contact-form:first-of-type")
// [div.modal-inner.contact-form, div.modal-inner.contact-form]
$(".contact-form:nth-of-type(1)")
// [div.modal-inner.contact-form, div.modal-inner.contact-form]
我的理解:
$(".contact-form form:first-of-type")
// [form, form]
$(".contact-form form:nth-of-type(1)")
// [form, form]
我也使用在.contact-form
而不是form
這些pseudoselectors嘗試我可以使用數組索引來獲取第一個或第二個,但我希望有一種方法可以使用CSS選擇器來完成。這是因爲我有一個現有的API接受CSS選擇器的輸入,但不處理其他jQuery指令。
在2元素數組上使用jQuery,我也可以使用索引'[0]',我意識到。我想我沒有說清楚,但我希望有一個CSS的唯一方法來做到這一點。原因是我有一個現有的API,它只接受一個CSS選擇器,並且不處理更多的jQuery指令。 –
一個純粹的CSS解決方案應該是[':nth-match'](http://css4-selectors.com/selector/css4/structural-pseudo-class/),但它目前還沒有瀏覽器支持。 – trincot
':nth-match'從草稿中刪除,只計算兄弟,它不搜索整個樹。 – Oriol