是否可以使用锚标记而不包括href属性,而是使用JavaScript单击事件处理程序?因此我将完全省略href,甚至不让它为空(href="")。
当前回答
我的建议是使用<a href="#"></a>
如果你正在使用JQuery,还记得使用:
.click(function(event){
event.preventDefault();
// Click code here...
});
其他回答
在HTML5中,使用不带href属性的a元素是有效的。它被认为是一个“占位符超链接”。
例子:
<a>previous</a>
在w3c锚标记参考页面上查找“占位符超链接”:https://www.w3.org/TR/2016/REC-html51-20161101/textlevel-semantics.html#the-a-element。
维基上也有提到: https://www.w3.org/wiki/Elements/a
占位符链接用于想要使用锚元素,但不让它导航到任何地方的情况。这对于在导航菜单或面包屑跟踪中标记当前页面非常方便。(旧的方法是使用span标记或带有名为“active”或“current”的类的锚标记来设置样式,并使用JavaScript来取消导航。)
如果您希望在运行时通过JavaScript动态设置链接的目的地,占位符链接也很有用。您只需设置href属性的值,锚标记就可以单击了。
参见:
https://stackoverflow.com/a/10510353/19112 http://www.html5in24hours.com/2012/06/8-ways-to-get-started-with-html5-today/ http://webdesign.about.com/od/html5tutorials/qt/html5-placeholder-links.htm
我的建议是使用<a href="#"></a>
如果你正在使用JQuery,还记得使用:
.click(function(event){
event.preventDefault();
// Click code here...
});
从可访问性的角度来看,<没有href的>不是可选项卡的,所有链接都应该是可选项卡的,所以如果你没有href,添加一个tabindex='0"。
只需在您的工作组件中添加波纹管代码以删除此警告,就是这样。
/* eslint-disable jsx-a11y/anchor-is-valid */
如果你必须使用href来实现向后兼容性,你也可以使用
<a href="javascript:void(0)">link</a>
如果您不想使用该属性,则可以使用#
推荐文章
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- 我如何用javascript编程点击链接?
- 在HTML中还有其他有用的空格码吗,比如半空格的 , em-spaces, en-spaces等等?