html - 跳转到哈希的 anchor 标记不起作用

标签 html hash anchor

我已经阅读了关于这个主题的各种帖子,并且认为我了解常见的失败点。我发现我的两个产品缩略图,在“这个 Click'n'Pick Set Consists Of The Following 2 Products”标题下,是可点击的,但不要将我带到命名的 <div>。页面下方的元素。相反,它们会导致导航到 http://www.premierrange.co.uk/#bundle_product_anchor_448。 , 例如。我在 Linux 上的 Chrome (18.0.1025.33 beta) 和 Firefox (10.0.1) 中都看到了这一点。

http://www.premierrange.co.uk/index.php?main_page=clicknpick&groups_id=2&chosen_0=243&chosen_1=448

因此,例如,有一个锚定位“#bundle_product_anchor_243”:

<a href="#bundle_product_anchor_243" title="Click here to jump to the 70cm Truly Curved Black Glass Curved Cooker Hood H77-7B">
    <img src="http://www.premierrange.co.uk/thumbnailer.php?filename=images/H77-700.jpg&amp;height=100" alt="70cm Truly Curved Black Glass Curved Cooker Hood H77-7B">
</a>

这针对 <div>在页面下方:

<div class="productSeparator" id="bundle_product_anchor_243">
    <h1>Product number 1 in this bundle of 2 products</h1>
</div>

我也试过制作 <h1>在目标内部 <div>成为目标,以防目标必须是内联元素而不是 div,但似乎没有任何效果。

<div>包含行为不端的<a><div> 时已完全关闭包含目标元素的元素出现在文档中。我不认为在 <a> 的时间点没有定义目标元素有问题。由浏览器解析。

手动将“#bundle_product_anchor_448”添加到 URL 确实有效。

我知道该页面在很多点上未通过 HTML 验证,原因是有很多我无法轻松解决的因素。我原以为这个基本的“跳转到命名元素”功能无论如何都应该起作用。除了这个小小的导航怪癖之外,该页面功能完备。

有人知道吗?

最佳答案

尝试删除 <base href="http://www.premierrange.co.uk/"></base>从页眉。

<base>标记指定页面上所有相对 URL(不说 http://www.example.com/ ... 的那些)的基本 URL 或目标。没有它,您的链接应该可以正常工作,尽管您可能必须修复其他链接以适应此更改。

关于html - 跳转到哈希的 anchor 标记不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407738/

相关文章:

javascript - 如何在没有 # 符号的情况下获取 attr id

angular - 如何导航到Angular 7中的 anchor

javascript - 使用切换将 div 滑出屏幕?

html - 如何获得一种如附图所示的布局?

java - 变量名与哈希函数有什么关系?

php - 保护对 PHP API 的访问

linux - 比较 n 个文件(二进制)

javascript - 如何在不自动滚动整个页面的情况下使用 anchor 标记在 div 内滚动?

jquery - 输入字段中占位符文本的颜色

JavaScript 导航菜单多次点击