我有元素<a href="javascript: void(0)" id="bar">foo</a>
。 #bar
有click
个事件。我告诉自由职业者,最好使用<div />
(如果需要,使用样式cursor: pointer;
而不是超链接),因为实际的href=""
无论如何都没有被利用,也没有后备(并且在这种情况下不能用于JS-less版本。
但是,这来自我的理性思考和我的经验。因此,任何人都可以告诉我,对于后者是否正确,如果可能的话,提供一个更深入地讨论这个问题的资源的参考?
答案 0 :(得分:3)
这是一个非常好的哲学问题。
但是,我建议使用按钮。而不是可点击的div。
这背后的基本原理是<div>
意味着是一个无语义的容器,其中一个按钮意味着“在页面上做某事”,这更好地描述了你想要实现的目标。
作为一般规则,任何<a href="javascriot:void(0)">
或<a href="#">
都可以替换为<button>
。
答案 1 :(得分:2)
你说你不应该使用一个没有链接的链接 - 这是绝对错误的语义。
但是考虑使用比<div>
(页面的一个部门/部分)更有意义的东西。它是一个你点击的按钮吗?使用<button>
。也许它更像是菜单选项?使用<menu>
和<command>
(http://www.w3.org/TR/html5/interactive-elements.html#the-command-element)。这是找到符合您需求的最佳元素的好资源: