亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問選擇器h3:nth-??child(1):contains('a')為什么不起作用?

請問選擇器h3:nth-??child(1):contains('a')為什么不起作用?

嚕嚕噠 2020-01-06 08:00:51
我檢查這個選擇器:h3:nth-child(1):contains('a') 選擇器不起作用?我在firefinder中檢查了此內容,但沒有返回任何內容(沒有信息顯示零元素)然后檢查:h3:nth-child(1)并返回h3,所以選擇器幾乎是不錯的選擇,但是this(h3的文本為'a')的文本出錯。
查看完整描述

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選擇器具有更好的瀏覽器支持。



查看完整回答
反對 回復 2020-01-07
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

如果您嘗試使用:contains(a)查找錨標記(而不是字母A),則可以使用:


h3:nth-child(1) a

要么


h3:first-child a



查看完整回答
反對 回復 2020-01-07
  • 3 回答
  • 0 關注
  • 741 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號