要在链接页面上显示带有id
的已定义元素,我们会将#
插入元素的ID。
E.g:
<a href="http://www.mysite.com/test/test.php#mydiv">DIV</a>
如果我们在链接中包含/ GET variables
,则必须在#
标记之前。
这有效:
<a href="http://www.mysite.com/test/test.php?a=1#mydiv">DIV</a>
这不是:
<a href="http://www.mysite.com/test/test.php#mydiv?r=1">DIV</a>
原因在哪里?
答案 0 :(得分:1)
请参阅STD 66,URI标准。
片段标识符组件由数字符号(“#”)字符的存在表示,由URI结尾表示。
[...]
允许字符斜杠(“/”)和问号(“?”)表示在片段标识符中。
因此,只要在路径中找到#
,片段就会启动。之后的一切都是片段的一部分。因此,您的上一个示例包含以下片段:mydiv?r=1
。
答案 1 :(得分:0)
网址标准要求锚必须位于最后位置
标准是
<protocol>://<host>:<port>/<path>?<query>#<anchor>
许多部件都是可选的,但必须保持订单。