我明白,不要留下空錨標記是一個好主意。在jQuery和其他語法中,我注意到每個人通常都使用#來填補空缺(<a href='#'>anchor text</a>
)。這個角色是否比其他任何東西更好或更差? (例如<a href='$'>anchor text</a>
)。我沒有理由想這樣做,但似乎除了慣例之外沒有其他方式做到這一點的理由。爲什麼在空錨標籤hrefs中使用#
約定?爲什麼在空錨標籤hrefs中使用#約定?
回答
這是因爲URL中的#
字符引用本地頁面。
它用於頁面內的指定錨點(或任何ID),因此鏈接可以直接跳轉到該區域。
Wikipedia調用它的fragment identifier
,並具有這樣說的:
的片段標識符,如果存在的話,則指定的一部分或整體的資源或文件內的位置。與HTTP一起使用時,它通常指定頁面內的部分或位置,並且瀏覽器可以滾動以顯示頁面的該部分。
作爲一個實際的例子 - 此鏈接維基百科有一個片段標識符(總是在URL的結尾):
http://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax
在頁,有一個<span id="Syntax" ...
標籤,並且瀏覽器直接跳轉到它。
這樣,如果用戶禁用了javascript,實際上跟「http://mysite.com/#」的鏈接不會有任何負面影響。
例如,這些鏈接仍然有效,因爲#
當前頁面上指定的位置:
雖然這些並不:
這是防止點擊動作來觸發頁面重載的大多是老學校的方式。
如果使用href屬性就讓它空,甚至更好,如果你可以針對人們的一些後備網址與JS禁用
如果您將其保留爲空,則需要在CSS中添加諸如「{cursor:pointer;}」之類的內容,以使其具有相同的行爲方式。此外,'href'是必需的HTML屬性iirc。 – 2010-12-18 16:27:54
如果屬性存在但只是空的(就像我在我的回覆中所說的那樣),它確認就好,並顯示光標。 – mpenet 2010-12-18 16:33:27
通過<a href=
點表示到別的地方鏈接AREN噸。這個地方可能位於世界的另一端(絕對URL),或本地位於相同的域/路徑(相對URL)。只留下空白就是指文檔本身。
#是用於將錨點與URL的其餘部分分開的字符。瀏覽器甚至不會將它發送到服務器,而是使用它來垂直滾動到標有該錨點的頁面中的位置(使用<a name="foo"></a>
)。
因此,基本上,<a href="#">
指示瀏覽器保持在同一頁面上。它通常與JavaScript一起使用 - 掛鉤到onClick事件 - 以便JavaScript有用,然後return false
阻止瀏覽器實際上遵循鏈接。但是,如果他願意(例如,如果JavaScript被禁用,或者return false
被省略),那麼它不會離開當前網站,通常甚至不會重新加載它。
所以#
不是作爲隨機字符使用,而是因爲這實際上是指定用於表示鏈接中的錨點的字符 - 它只是發生在您的情況下,您不需要實際的鏈接(到另一個頁面)也不是錨點,而只是一個可點擊的元素。
- 1. 爲什麼facebook應用程序選項卡中的hrefs被重寫爲錨?
- 2. 爲什麼使用錨標籤時圖像變得不對齊?
- 3. 爲什麼我在錨標籤中加入小衝刺?
- 4. 爲什麼錨標籤在tinymce編輯器中消失?
- 5. 在HTML5中,我應該爲標籤使用什麼標籤?
- 6. 使用BeautifuSoup分隔hrefs和錨文本
- 7. 如何在URL中使用錨標籤?
- 8. 在UIwebview中使用錨標籤?
- 9. 標籤約定
- 10. 如何使用<base>標籤在HTML5中用於特定錨標籤只
- 11. 爲什麼`getComputedStyle`不能爲錨標籤返回「inline」?
- 12. 爲什麼restrict_xpath忽略裏面<a>標籤裏面的hrefs?
- 13. 爲什麼使用「for」關鍵字綁定HTML中的標籤?
- 14. CKEditor - 爲什麼錨點功能使用標誌圖標?
- 15. 在hrefs中使用固定鏈接
- 16. CakePHP標籤約定
- 17. href =「/」的用途是什麼?在錨標籤?
- 18. 爲什麼JavaScript標籤使用「文本」?
- 19. 爲什麼Facebook不使用og:title標籤?
- 20. 爲什麼使用Django TemplateTag標籤?
- 21. 爲什麼我們在joomla中使用命名約定?
- 22. 在錨標籤上使用CSS Sprite
- 23. 錨標籤在Chrome
- 24. 爲什麼不jQuery的錨點標籤滾動工作?
- 25. 爲什麼我的錨標籤延伸800像素?
- 26. 這個按鈕爲什麼不激發錨標籤?
- 27. 爲什麼錨標籤小於子圖像?
- 28. 爲什麼這個錨標籤沒有運作?
- 29. 爲什麼我的錨標籤無法正常工作?
- 30. 使用href作爲定位器難以單擊錨標籤
請注意,如果您使用像'#!'或類似的錨點,那麼如果JavaScript被禁用(或者如果事件中存在錯誤),則不會有滾動到頁面頂部的令人討厭的副作用監聽器,它不能返回'false'或調用'preventDefault')。 – 2010-12-18 16:30:32
我從來不知道'#!'。你能解釋爲什麼這有助於不滾動到頂部? – Catfish 2012-06-28 13:36:37