如何调试书签锚无法正常工作

时间:2012-02-01 21:11:24

标签: html anchor

我有一个非常复杂的html页面,我在各个点添加了一些书签锚点。锚点看起来像这样:

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

但是当你点击它们时,没有任何反应 - 地址栏中的网址不会改变,页面也不会移动。

如果我将我的锚点拿出来并将它们放入一个更简单的页面,它们就会开始工作,所以我觉得某些东西必须以某种方式干扰导航,但我想不出如何解决它。我想知道某个地方取消导航的javascript错误,但该页面有数千行javascript,我还没有发现任何可疑的内容。

Chrome和Firefox都会出现此问题。

如何调试此问题?


更新:这可能是CSS问题吗?目标锚点在<div>范围内,CSS属性为overflow:auto;。这导致滚动条出现在div内部而不是页面的边缘 - 这与我的简单文本页面不同。

更新2:溢出:auto不会破坏命名锚点; tested with a simple example

3 个答案:

答案 0 :(得分:4)

命名锚点需要有一个单词名称或id(id更好,因为名称正在被取消)

这将有效:

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

答案 1 :(得分:1)

试试这个:

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

所以基本上改变你的id属性的名字属性。

另外......我认为它基本上会寻找“foo”而不是“foo bar”。我没有测试过这个。

答案 2 :(得分:0)

这绝对是一个脚本问题而不是锚的语法。我最终(意外地)通过向click()处理程序添加一些无效的javascript来调试问题,这打破了单击处理程序但导致锚点再次开始工作。我能够从那里开始。

相关问题