2011-11-16 482 views
1

在jQuery中,我做了一個複雜的選擇器,但它不工作。有人能告訴我我做錯了什麼嗎?選擇器不工作

$("#gig:nth-child('3'):contains(:not('a'))") 

謝謝!

+0

這是相當不可能告訴不知道HTML是什麼,你想有針對性的。 –

+3

爲什麼它不工作?它應該做什麼?你忘記了一些空間嗎? – SLaks

+1

沒有選擇器應該是這個複雜的。你是否考慮過另一種解決方案,例如使用類或id來簡化選擇器? – amustill

回答

2

如果您嘗試選擇其文本不包含字母a的元素,則需要將:contains():not()的位置切換爲:contains()不應包含其他選擇器。試試這個:

$("#gig:nth-child(3):not(:contains('a'))") 

如果你的意思是一個a元素,而不是字母a,使用:has():包含在其文本信a

$("#gig:nth-child(3):not(:has(a))") 
1

:contains('a')匹配的元素。如果你正在尋找的元素沒有一個孩子<a>鏈接

$("#gig:nth-child(3):not(:has(a))") 
1

第n個孩子接受整數不是字符串。

$("#gig:nth-child(3)")

+0

帶ID選擇器的第n個孩子的要點是什麼 – Esailija

+0

@Esailijia:在身份證元素被可能在數量或位置上發生變化的兄弟姐妹包圍的情況下,這很有用。 – BoltClock