3 回答

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
:contains() 不是原本是CSS3選擇器(感謝TJ Crowder的鏈接),但它沒(méi)有做到,很可能是因?yàn)樗墓ぷ鞣绞酵鶗?huì)導(dǎo)致嚴(yán)重的性能和過(guò)度選擇問(wèn)題。例如,如果元素E匹配:contains()給定的字符串參數(shù),則其所有祖先也將匹配;將其與通用選擇器一起使用會(huì)導(dǎo)致某些樣式屬性帶來(lái)意想不到的結(jié)果,而且瀏覽器速度很慢。
沒(méi)有其他CSS選擇器可達(dá)到的目的:contains()。因此,您必須找到其他方法,通過(guò)修改HTML甚至使用jQuery的方法:contains()來(lái)實(shí)現(xiàn)所需的效果:
如果h3元素
是其父元素的第一個(gè)子元素
且其文本包含字母“ a” ,則選擇該元素。
對(duì)于jQuery和Selenium RC用戶: :contains()在jQuery使用的Sizzle選擇器引擎中實(shí)現(xiàn),該引擎也在Selenium RC(但不是 Selenium WebDriver)中使用。它按照CSS3規(guī)范這個(gè)已有十多年的修訂版中的描述進(jìn)行工作,但是同樣,由于該規(guī)范對(duì)它的描述方式,您需要謹(jǐn)慎使用它,否則可能會(huì)導(dǎo)致意外選擇。
最后,h3:nth-child(1)可以將替換為h3:first-child,因?yàn)镃SS2選擇器具有更好的瀏覽器支持。

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果您嘗試使用:contains(a)查找錨標(biāo)記(而不是字母A),則可以使用:
h3:nth-child(1) a
要么
h3:first-child a
添加回答
舉報(bào)