2013-06-25 41 views
1

據我所知,如果您將一個id插入到網址的末尾,即foo.com#bar,它將導航到標有「bar」標識的DOM元素。這是否也適用於其他css選擇器或xpaths?CSS選擇器/ xpath和網址

瀏覽器如何導航到所需的ID?

回答

4

瀏覽器導航到符合什麼是片段標識符中的第一個元素(即#後位,在這種情況下bar)。在HTML中,如果元素是匹配namea元素或具有匹配ID的任何類型的元素,則說元素匹配。如果有重複,瀏覽器應該跳到其中的第一個,但鑑於你不是假設有重複的名稱/ ID,此行爲可能因瀏覽器而異,因此不可靠。

至於跳躍本身,傳統上,這不是動畫;瀏覽器只是跳轉到匹配元素的頂部。元素高於還是低於當前滾動位置並不重要。

CSS選擇器中的ID選擇器符號實際上是在散列片段符號之後,而不是相反。因此,該符號僅適用於指定的錨或ID。它不允許您指定XPath或CSS選擇器。

也就是說,有一個W3C社區小組探討擴展符號以利用選擇器的想法,正確地命名爲CSS Selectors as Fragment Identifiers,其中我恰好是成員。當然,目前還沒有實現,因爲它只是一個想法。

+0

有趣。我以前沒有聽說過這個社區團體。似乎不幸的是,該模式使用「css()」,因爲Selectors規範正在逐漸擺脫CSS特定。 – Alohci

+0

@Alohci:這是一個較新但較不活躍的羣體。並且我同意;也許它可以重命名爲'sel()'或其他東西(並且就此而言,該組重命名爲Selectors作爲片段標識符)。目前沒有任何事情可以實現。 – BoltClock

0

它向下滾動(即時),直到ID放置在屏幕的頂部,並且它僅適用於ID。你不能使用其他選擇器(類,標籤等)。

就像這個網址:CSS selectors/xpath and urls