2012-03-20 106 views
0

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

<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> 
+0

似乎在的jsfiddle http://jsfiddle.net/qzUya/ – Curt 2012-03-20 13:06:23

+0

您的权利,做工精细。我想我的代码中肯定有错误。 – Evans 2012-03-20 13:13:07

回答

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属性可用于在STA创建一个锚rt标记 任何元素(包括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>上面更details.`

要进行猜测的惯例,或者你的页面不够长,使跳转到的内容(也就是你的页面可能已经无处可和跳已经可见的内容。)

除此之外,并从同以前链接,这里的规范的部分是在什么时候用什么作为锚标识的一般信息(在链接自身而言),可能是有价值的,否则:

使用idname?作者应该考虑当 决定是否使用ID或名称锚名以下问题:

  • id属性可以为不仅仅是一个锚名以上(例如,样式表选择,处理标识等行为)。
  • 一些较早的用户代理不支持使用id属性创建的锚点。
  • name属性允许使用更丰富的锚名(带有实体)。
+0

这是不正确的。你可以使用'id'。 http://jsfiddle.net/qzUya/ – Curt 2012-03-20 13:14:02

+1

@Curt的确,我已经更新了我的答案以反映这些知识。 – 2012-03-20 13:25:45