2014-03-30 63 views
4

我在w3學校網站學習html,我在「html鏈接」一章。我不明白的是爲什麼他們建議在鏈接標記中使用id屬性而不是標題標記。將id屬性放在「a」標籤或「h1/h2」標籤中是否更好?

他們的榜樣:

<p> 
<a href="#C4">See also Chapter 4.</a> 
</p> 

<h2><a id="C4">Chapter 4</a></h2> 
<p>This chapter explains ba bla bla</p> 

我嘗試:

<p> 
<a href="#C4">See also Chapter 4.</a> 
</p> 

<h2 id="C4">Chapter 4</h2> 
<p>This chapter explains ba bla bla</p> 

兩個工作一樣,當我嘗試他們,但我嘗試花費更少的寫作。我的嘗試有什麼問題,我不明白。

+2

有許多*許多*東西[該網站的錯誤](http://w3fools.com/)。這只是過時實踐的例子之一。使用'h3'。 –

回答

3

在鏈接到任何元素的id之前是可能的,你可以鏈接到<a>元素的name

在錨上使用idname的過渡期。沒有必要擔心,除非你的目標是Netscape 4(我可能會誤解,第一個支持id的瀏覽器可以連接而不是最後一個,但無論哪種方式,這都是古老的歷史)。

W3Schools只是有很多遺留垃圾(最好避免作爲學習資源)。

在標題上(或在容器上(<section>也許?)標題和相關內容在裏面)使用id

+1

從這個角度來看,W3School實際上選擇了最糟糕的兩個世界:他們添加了一個不必要的''標籤,但沒有給它一個'name',所以它實際上並沒有更好的兼容性。 – IMSoP

+1

這兩個世界中最糟糕的是W3Schools的一個特色。 – Quentin

4

它通常似乎是一個保存完好的祕密,您可以通過其ID綁定到元素的鏈接,而不是像更通常的a標籤通過其name屬性。這可能是因爲前者是後來的介紹,所以a標籤方法曾經是內部鏈接的唯一手段。

所以是的,你的方法是完全有效的。

W3SChools順便說一句,雖然有時毫無疑問是有用的,但多年來一直受到一些不如固體內容的影響。不要把它當作福音 - 它不隸屬於W3C,它只是有人試圖教Web開發而已。

最後,不要混淆head * er *標籤和head * ing *標籤;在你的情況下,它的標題,而不是標題。這是一個different tag entirely

+1

感謝標題/標題錯誤 –

2

其他的答案在這裏解釋實際的答案非常好,但因爲原來的(差)建議從W3Schools的教程來了,我想給你點一些信譽度高的資源:

首先,有MDN, the Mozilla Developer Network 。儘管由Firefox製作商運營,但它對事物標準化的地方以及不同瀏覽器對它們的支持有着非常好的覆蓋。它往往是比教程技術參考更好,我沒有發現什麼直接關係,但the page documenting the <a> element包括在name屬性這樣一個字條:

使用注意:此屬性是過時的HTML5,使用全局屬性代替。

我提到MDN主要是因爲它是一個非常成熟的參考站點,並且是W3Schools內容的一部分的很好替代品。

其次,有WebPlatform.org它不像W3Schools的參加與W3C和各大瀏覽器開發商都,旨在包括參考和指導信息是準確和最新的,但有些是仍然有效進行中。

他們有an HTML link tutorial其中directly answers your question

你也可以把一個id屬性的<a>元素,使之成爲一個頁面的錨。
[...]
但大多數的瀏覽器你要支持這些天讓你來寫這個快捷方式,並直接把ID要鏈接到的元素
[...]
這很簡單,所以我們建議你堅持這一點。

+0

感謝您的其他教程參考。 –