我一直在使用 Twitter Bootstrap 来构建一个网站,它的很多功能都依赖于将东西包装在
<a>
中,即使它们只是要执行 Javascript。我对 Bootstrap 文档推荐的 href="#"
策略有疑问,所以我试图找到不同的解决方案。
但后来我尝试完全删除
href
属性。我一直在使用 <a class='bunch of classes' data-whatever='data'>
,并让 Javascript 处理其余的事情。而且它有效。
然而有些东西告诉我我不应该这样做。正确的?我的意思是,从技术上讲,
<a>
应该是某个东西的链接,但我不完全确定为什么这是一个问题。或者是吗?
<a>
nchor 元素只是某些内容的锚点。最初,HTML 规范允许命名锚点 (<a name="foo">
) 和链接锚点 (<a href="#foo">
)。
命名锚点格式不太常用,因为片段标识符现在用于指定
[id]
属性(尽管为了向后兼容,您仍然可以指定 [name]
属性)。 是的,使用不带 href
属性的锚标记是有效的
。
如果是的,您可以使用
a
元素没有href
属性,则该元素代表一个 占位符,表示链接可能已放置的位置(如果 是相关的,仅包含元素的内容。
class
和其他属性,但不能使用
target
、
download
、
rel
、
hreflang
和
type
。
至于“
target
、download
、rel
、hreflang
和type
属性必须是 如果 href 属性不存在,则省略。
我应该吗?”部分,请参阅第一个引文:“如果相关的话,链接可能会被放置在哪里”。所以我会问“如果我没有 JavaScript,我会使用这个标签作为链接吗?”。如果答案是肯定的,那么是的,您应该使用<a>
而不使用
href
。如果不是,那么我仍然会使用它,因为生产力对我来说比边缘情况语义更重要,但这只是我个人的观点。此外,您应该
注意不同的行为和样式(例如没有下划线、没有指针光标、不是:link
)。来源:
data-toggle
和
data-target
属性的类似内容)。类似:
<a role="button" data-toggle="modal" data-target=".bs-example-modal-sm" aria-hidden="true"><i class="fa fa-phone"></i></a>
这里我使用 font-awesome 图标来显示模式,它作为
a
标签而不是
button
更好。另外,设置
role="button"
会使指针更改为操作类型。如果没有
href
或
role="button"
,光标指针不会改变。
<a href="#">Text</a>
:替换
href="#name"
,然后保存。它正在工作。