在我工作的项目中,我最近从开发后端(即非Web)服务器转向与Web相关的事物.在HTML代码中,我发现了以下所有内容:
<a href='#'>some link</a>
Run Code Online (Sandbox Code Playgroud)
然后一些JS附加到元素的click事件<a>.
这个唯一的哈希是否有任何特殊含义?我理解如何href='#some_id'告诉浏览器滚动到ID =的元素some_id.但是href='#'不行,那对吧?如果只是创建一个可点击的文本,为什么不简单地使用<span>?
Fel*_*ing 16
究竟.你在这里看到的是某种糟糕的设计(尽管使用起来很常见href="#").
如果不阻止默认操作,它实际上会跳到页面顶部.
更好的是
<button>并相应地设置它(甚至可能只通过JavaScript插入)它还取决于该网站是否与禁用的JavaScript一起运行.如果是,那么这样的链接(但也是一个按钮)将不起作用.
但无论如何,从语义的角度来看,仅使用链接来获得"可点击"的东西是错误的.
Spu*_*ley 10
一个哈希,它自己链接到页面顶部.
这有时用于此目的 - 即"返回顶部"链接,但更典型地,这种链接与Javascript单击结合使用,甚至返回false,从而否定href的操作.
在这种情况下,它以这种方式使用,原因如下:
一个<a>标签可能是语义正确的-即可以点击充当链接的项目; 即加载更多内容,或打开弹出窗口等,即使它使用Javascript的功能.
使用<a>标记还意味着元素的样式<a>与网站上其他标记的样式相同.这包括:hover效果样式等.请注意,IE6仅支持:hoveron <a>元素,而不支持任何其他内容,这意味着如果该站点设计为在IE6中工作或仍需要支持它,则您无法使用其他标记复制此功能.这是<a>在过去使用标记用于此功能的一个非常好的理由,即使它在语义上不合适.这些天来,它不是一个问题.即使在现代浏览器中,<a>如果您希望它们看起来与其他链接相同,那么使用这些项目对于减少复制的样式表仍然很有用.链接还有一些其他特殊功能,可能难以与其他元素复制,例如在选项卡索引序列中等.
HTML要求<a>标记具有href属性,以便将元素呈现为链接,因此哈希用作此的最小值.此外,在href属性中使用哈希表示如果用户关闭Javascript或开发人员忘记链接,链接不会导致任何令人讨厌的意外后果return false;.相比之下,拥有一个空字符串会导致它重新加载页面,如果你刚刚运行一些javascript,这不太可能是你想要的.然而,将链接指向有效的URL也是很常见的,如果Javascript被关闭,该URL将被运行; 这是为您的网站提供后备机制的好方法.但这并不总是合适的,显然不是这里的意图.
鉴于该项目只是在Javascript中触发点击事件,没有理由不为此使用任何其他元素.您可以非常轻松地使用<span>(甚至更好的<button>)a ,但以上几点应该表明使用<a>标签没有任何问题.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
11029 次 |
| 最近记录: |