我经常在其他网站和教程中看到,当锚点的目的不仅仅是作为链接时,它通常有一个标签 ( #
) 作为href
属性的值。我正在我目前正在处理的项目的列表中创建一系列列表,我很想自己这样做,但我担心这可能会使团队中其他开发人员正在努力的系统复杂化,因为这个标签点击后出现在地址栏中。
以这种方式取消href有缺点吗?我假设它不是由于这种方法的流行使用,但主题标签是否有可能弄乱使用的函数GET
?
不用担心,“哈希标签”可以很好地使用,十年来一直是标准的一部分,并且不会影响 GET。“锚标签”<a>
最初就是为了这个目的。
您可以使用它来创建“跳转链接”以跳转到文档的不同部分(锚点,用于 HTML 规范文档页面本身),或者作为与 javascript 结合使用的“hashbang”。
你不应该做的是<a>
无缘无故地使用标签来获取指针光标。也就是说,如果当你点击它时它做了某事(通常是为什么你将指针光标放在某物上),无论是通过更改哈希、链接到新文档还是触发 javascript 函数,都没有理由不使用锚点标签,也不是不好的做法。
当您看到仅带有 的锚点时"#"
,href
通常表明开发人员打算将 javascript 侦听器应用于元素。如果客户端没有可用的 javascript,空锚点充当无操作的后备。在这种情况下,用户单击链接并且没有任何反应。如果您使用渐进式增强原则,那么您可能会在其中放置一个等效的非 JavaScript URI。
文档
正如评论中所指出的,不要包含专门用于视觉“美”的 HTML 标记。这是 CSS 的任务,你应该学会分离关注点。对于 HTML/CSS:HTML = 信息,CSS = 演示。问问自己下次遇到类似问题时会发生什么。就个人而言,我会创建一个这样的CSS 类:
.handy{
cursor: pointer;
}
然后将类添加到所需的每个元素:
<ul id = "menu">
<li></li>
<li class = "handy"></li>
</ul>
根据您的情况,另一种方法是像这样编写 CSS:
#menu li {
cursor: pointer;
}