URL片段可以指向没有id的HTML元素吗?

问题描述 投票:0回答:1

我想提供一个指向外部页面(不受我控制)的链接,该页面具有我希望它指向的特定部分(它是带有附录的许可证页面,我希望该链接直接转到附录)。

我通常会在 URL 中使用

#
来完成此操作,如下所示:
https://en.wikipedia.org/wiki/Fragment_identifier#Examples

这使得页面滚动到已经从带有

id="Examples"
的 HTML 元素开始。
问题是 HTML 页面没有在元素上放置
id

还有其他方法可以让URL指向相关部分吗? URL 片段只接受 id 还是我可以使用其他 CSS 选择器?

html url hyperlink uri uri-fragment
1个回答
0
投票

我认为答案很简单:你不能。

元素上需要有

id
属性(禁止目标页面上非常具体的 JavaScript 功能,并禁止事后注入内容的扩展)才能链接到页面上的特定元素。

滚动行为在“规范”中定义,位于“滚动到片段”部分:

要在给定
Document

document 和字符串

fragment
的情况下找到潜在的指示元素,请运行以下步骤:

如果文档树中存在一个根为
    document
  1. 且 ID 等于 fragment 的元素,则按树顺序返回第一个此类元素。 如果文档树中存在一个
  2. a
  3. 元素,其根是文档,且其
    name
    属性的值等于
    fragment
    ,则按树顺序返回第一个此类元素。 返回空。
备注:

    name
  • a
    属性在当前的HTML5中不再有效。
    空的 
  • #
  • 片段(以及
    #top
    片段,如果页面上没有定义
    top
    id)可用于滚动到页面顶部。
    
        
© www.soinside.com 2019 - 2024. All rights reserved.