在通过JavaScript连接的链接上省略HREF是一种好习惯(或好主意)吗?

时间:2011-09-21 19:39:36

标签: javascript html

扩展this question

对于触发对话框和菜单(即非导航)的项目,最好在包含通过JavaScript连接的事件的链接中省略HREF属性吗?在这些情况下,在那里使用HREF是否有意义?

来自:<a href="javascript://">some text</a>

或更糟糕的是,<a href="#">some text</a>(强迫您使用event.preventDefault()

<a>some text</a>

3 个答案:

答案 0 :(得分:3)

==编辑了一点==

糟糕,糟糕的主意。它不会显示为一件事的链接。如果您需要一个按钮,但只使用<a>,只需使用<button><input type="button">。正如你所说,“非导航”。 <a>的整个点都是导航的。

在这两个中,使用href="#"javascript://放入链接比添加内联样式更糟糕。

答案 1 :(得分:1)

务实 - 这是我在16年的JS中学到的东西

  1. 有href,如果没有,你需要将光标设置为hand或pointer
  2. 如果您不想使用#或我最近学到的#somethingNotExisting
  3. ,请将href转到“抱歉,您需要javascript”页面
  4. 永远不要有href =“javascript:anything()”
  5. 在onclick中返回false或preventDefault,最好在onload handler
  6. 中设置

    更新:对于菜单等,商定的标记是带有css的列表,如果链接实际加载内容以便在脚本关闭时正常降级为纯HTML导航,则建议使用此类菜单中的链接

答案 2 :(得分:0)

您应该使用command元素。

  

command元素表示用户可以调用的命令。

HTML5: Edition for Web Authors

这具有语义正确的好处。 html5shiv至少有one fork,它支持旧浏览器中的元素。