我经常在其他网站和教程中看到,当 anchor 的用途不仅仅是链接时,它通常有一个标签 (#
) 作为 的值href
属性。我正在我目前正在从事的项目中的列表中创建一系列列表,我很想自己做这件事,但我担心这可能会使团队中其他开发人员正在开发的系统复杂化,因为这个标签点击后出现在地址栏中。
以这种方式取消 href 有缺点吗?我假设这不是因为这种方法的广泛使用,但主题标签是否有可能搞乱使用 GET
的函数?
最佳答案
不用担心,“散列标签”很好用,十年来一直是标准的一部分,并且不会影响 GET。 “ anchor 标签”<a>
本来就是为了这个目的。
您可以使用它来创建“跳转链接”以跳到文档的不同部分( anchor ,正如 HTML 规范文档页面本身所使用的那样),或者作为与 javascript 结合的“hashbang”。
你不应该做的是使用 <a>
标记只是为了无缘无故地得到一个指针光标。也就是说,如果当你点击它时它做了一些事情(通常是你将指针光标放在某物上的原因),无论是通过更改散列、链接到一个新文档,还是触发一个 javascript 函数,都没有理由不使用 anchor 标签,也不是坏习惯。
当你看到一个只有 "#"
的 anchor 时作为 href
,这通常表示开发人员打算将 javascript 监听器应用于该元素。如果客户端没有可用的 javascript,则空 anchor 充当无所事事的回退。在这种情况下,用户单击链接并没有任何反应。如果您正在使用渐进增强原则,那么您可能会在其中放置一个等效的非 javascript URI。
文档
- HTML 链接和 anchor - http://www.w3.org/TR/html401/struct/links.html
- onhashchange on MDN - https://developer.mozilla.org/en-US/docs/Web/API/window.onhashchange
关于php - 为什么主题标签用于 anchor 链接占位符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356767/