3 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
:contains() 不是原本是CSS3選擇器(感謝TJ Crowder的鏈接),但它沒有做到,很可能是因為它的工作方式往往會導致嚴重的性能和過度選擇問題。例如,如果元素E匹配:contains()給定的字符串參數,則其所有祖先也將匹配;將其與通用選擇器一起使用會導致某些樣式屬性帶來意想不到的結果,而且瀏覽器速度很慢。
沒有其他CSS選擇器可達到的目的:contains()。因此,您必須找到其他方法,通過修改HTML甚至使用jQuery的方法:contains()來實現所需的效果:
如果h3元素
是其父元素的第一個子元素
且其文本包含字母“ a” ,則選擇該元素。
對于jQuery和Selenium RC用戶: :contains()在jQuery使用的Sizzle選擇器引擎中實現,該引擎也在Selenium RC(但不是 Selenium WebDriver)中使用。它按照CSS3規范這個已有十多年的修訂版中的描述進行工作,但是同樣,由于該規范對它的描述方式,您需要謹慎使用它,否則可能會導致意外選擇。
最后,h3:nth-child(1)可以將替換為h3:first-child,因為CSS2選擇器具有更好的瀏覽器支持。
- 3 回答
- 0 關注
- 741 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消