如何在动态URL中使用HTML #锚点

8

我想要使用#锚点链接到动态页面的某一部分。就像这样:

<a href=page.php?id=3#section-name>LINK</a>

它没有工作。正确的方法是什么呢?

我没有使用直接链接,而是从另一个脚本中使用重定向,例如header("Location:page.php?id=3#section-name")

我在page.php文件中有一个名为section-name的部分。我猜想page.php无法确定要处理的id的值(3还是3#section-name)。我被重定向到page.php,其内容被垂直重复。


1
请分享另一部分的标记。你想要滚动到的锚点标签是什么样子的? - James Hill
2
你说的“它没起作用”是什么意思?浏览器没有加载吗?跳转到错误的页面了吗?你是否缺少双引号或者在编辑器中输入时被删除了? - Anthony Choi
页面中是否有一个名称为 section-name 的元素? - j08691
@Anthony Choi:这可能意味着浏览器没有滚动到生成的(“动态”的)页面中“section-name”所在的位置。 - Peter Mortensen
3个回答

5
你只展示了你代码的一半,所以我只能给出正确做法的样例:

您只展示了代码的一部分,因此我只能提供正确编写代码的示例:

<body> 
    <a name="top"> </a>
    <a href="#top">
        Go To Top Of Page
    </a>     
</body>

这个问题是关于“动态”URL的,其中包含“?”-例如?id=3。不是静态HTML页面。 - Peter Mortensen

5
使用锚点时,您可以通过其ID来定位元素。当链接引用此类元素时,浏览器会先查找ID,然后再查找name属性。 <a href="#section-name>LINK</a>将直接跳转到<div id="section-name">(如果存在)。 这里有一个示例 阅读:HTML Anchors with 'name' or 'id'?

这个问题是关于“动态”URL的,其中包含“?”-例如?id=3。不是静态HTML页面。 - Peter Mortensen

2

一个典型的锚标签的工作方式如下:

一个 href 链接标签的写法如下:

<a href="anchor_example2.html#a001">Jump to a001</a>

你看到上面的#a001了吗?它在HTML页面中引用了一个id,如果你点击这个链接,它会跳转到该id。

为了举例说明我们将要跳转到的id在页面上可能是什么样子,请看下面。

<li id="a001">text here</li>

参考资料


这个问题是关于“动态”的URL,其中一个示例是带有“?”的URL- ?id=3。不是静态HTML页面。 - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接