片段链接不起作用

时间:2012-03-20 13:02:25

标签: html hyperlink fragment-identifier

总新手问题,但我无法弄清楚我做错了什么。我想创建一个链接,将页面跳转到标题。我相信这些被称为片段链接。这是我的代码不起作用:

<a href="#Frag">My Link</a>

<div id="cont">

<p>Lots of content here, abbreviated in this example to save space</p>

<h2 id="Frag">Header I want to jump to</h2>
</div>

2 个答案:

答案 0 :(得分:2)

非常确定您需要为锚点指定name属性,例如:

<a href="#content">Skip to content</a>

<div name="content" id="content"></div>

好吧,'非常肯定'是'猜测'的委婉说法,我想我会查一查,所以,HTML 4.01 Specification我们从section 12.2.3 Anchors with the id attribute得到这个:

  

id属性可用于在开始标记处创建锚点   任何元素(包括A元素)。此示例说明了如何使用id属性在H2元素中定位锚点。锚通过A元素链接到。

     

You may read more about this in <A href="#section2">Section Two</A>.

     

......稍后在文件中

     

<H2 id="section2">Section Two</H2>

     

......稍后在文件中

     

<P>Please refer to <A href="#section2">Section Two</A>以上了解详情。

要进行猜测的惯例,也许你的页面不够长,无法跳转到那个内容(也就是说,你的页面可能无法并且内容会跳转 to 已经可见。)

除此之外,以及之前链接的规范的相同部分,这里有一些关于何时使用什么作为锚标识符(就其自身的链接而言)可能具有其他价值的一般信息:

  

使用idname?作者在考虑时应考虑以下问题   决定是否对锚名称使用id或name:

     
      
  • id属性不仅可以充当锚名称(例如,样式表选择器,处理标识符等)。
  •   
  • 某些较旧的用户代理不支持使用id属性创建的锚点。
  •   
  • name属性允许更丰富的锚名称(包含实体)。
  •   

答案 1 :(得分:0)

你的代码在firefox中运行正常,你可以使用名称而不是id ..

http://www.w3schools.com/tags/att_a_name.asp

如果你想要一个很好的滚动,你可以使用jquery scroll http://api.jquery.com/scroll/