CSS 中,子選擇器(>) 代表父子關係,而後代選擇器(>帶空格)以父級中的任何後代元素為目標。雖然這兩個選擇器都可以用於選擇特定元素,但它們的使用有一定的限制。
在給定的範例中,選擇表 tr td 可以正確檢索 td 元素,因為 td 是 tr 的直接子級,且 tr是 table 的直接子級。但是,當使用 table > 時tr> td 以相同的元素為目標,選擇器會失敗。
此行為源自於瀏覽器回應某些元素而產生的 HTML 結構。瀏覽器會自動在 table 元素中加入隱式 tbody 元素以包圍 tr 元素。這意味著在父子關係中,tr並不是直接嵌套在table內;相反,它位於 tbody 元素內。
因此,要按預期選擇td 元素,您必須使用以下選擇器來解釋隱式tbody 元素:
table > tbody > tr > td
透過包含選擇器中的tbody,遍歷正確的父子關係,準確定位到td元素。
因此,在這種情況下,由於瀏覽器添加了隱式 tbody 元素,子選擇器無法正確選擇所需的元素,而後代選擇器則按預期工作。
以上是子選擇器與後代選擇器:子選擇器何時失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!