2012-03-20 74 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