【问题标题】:href="#" redirects to the index page but not to the current page's tophref="#" 重定向到索引页面,但不重定向到当前页面的顶部
【发布时间】:2011-01-15 08:55:17
【问题描述】:

在网站上遇到了一个奇怪的问题。具有href="#anything" 的链接标签不会将您移动到页面顶部或指定的锚点,它会将您移动到主页。就是这样 - 当我将鼠标悬停在我在 FF 状态栏上看到的链接上时 example.com/# 而不是 example.com/testpage.php#

网站充满了垃圾代码,无法验证所有设置,尤其是标题配置等。

关于这可能在哪里的任何提示?

附:链接的href 没有被JS 修改,点击它时Firebug 声称它是href="#"

【问题讨论】:

  • 发生这种情况时您在哪个页面上?
  • 是否定义了目标属性?
  • 向我们展示您的代码,其中定义了您的目标“#anything”。您不要在目标名称/ID 中重复 #... 只需 anything

标签: html anchor href


【解决方案1】:

我最初的想法是你可能在某个地方有一个base tag。检查您的代码是否有以下内容,如有必要,请删除它:

<base href="http://www.mydomain.com/testpage.php" />

显然,谨慎是必要的,因为可能有一些标记依赖于任何预先存在的基本标记。还要确保您的 href 值前面没有像这样的正斜杠:

<a href="/#anything">Click Me</a>

因为这将转到根目录默认起始页上的#anything。

【讨论】:

  • 是的,找到了基本标签并确认它是邪恶的根源。谢谢!
  • @Brock 这是双关语吗? :) 呵呵。
【解决方案2】:

您的代码的&lt;head&gt; 部分中是否有&lt;base&gt; 标记?

这将使所有相对 url 请求以 base 标记中指定的 href 开头。如果该页面依赖于它的存在,我强烈建议您不要删除它,否则您可能需要进行大量更新。

更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 2013-12-26
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多