我有一个非常复杂的html页面,并在各个点添加了一些书签 anchor 。 anchor 如下所示:

<a href="#foo bar">click here for foo bar</a>
lorum ipsum etc
<a name="foo bar">foo bar</a>

但是,当您单击它们时,什么也没发生-地址栏中的url不变,页面也没有移动。

如果我将 anchor 放到一个简单的页面中,它们就会开始工作,因此我认为一定程度上会干扰导航,但是我想不出办法。我想知道某个地方的javascript错误取消了导航,但是页面上有成千上万行javascript,并且我还没有发现任何可疑的东西。

Chrome和Firefox均会出现此问题。

如何调试此问题?

更新:这可能是CSS问题吗?目标 anchor 位于CSS属性为<div>overflow:auto;内。这导致滚动条出现在div而不是页面的边缘内-这是我的简单文本页面所不具备的。

更新2:overflow:auto不会破坏命名 anchor ; tested with a simple example

最佳答案

命名 anchor 需要具有一个单词的名称或ID(ID更好,因为名称已弃用)

这将工作:

<a href="#foo-bar">click here for foo bar</a>
    lorum ipsum etc
<a id="foo-bar">foo bar</a>

关于html - 如何调试书签 anchor 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9103429/

10-13 02:53