什么是a标签的href ?
a标签的默认跳转链接行为是由href来实现的,同时设置href属性可以使a标签在hover状态下以手指指示的样式显示。但实际过程中发现对a标签的href属性的不同设置,可能会导致不同的行为反馈,故想要进行几种不同的设置情况总结一下。
1.当href不赋任何值时:
<a href></a>
// 不赋值
点击a标签会刷新页面,回到顶部。
2.当href赋值 href="#"时:
<a href='#'></a>
点击a标签后会回到页面顶部,但不刷新页面。
3.当href属性赋值使用javascript:viod(0)语句,并且设置onclick点击事件时:
<a href='javascript:viod(0)' onclick="go()"></a>
javascript:viod(0)语句控制页面不进行跳转也不进行刷新,点击之后也不会回到页面顶部,使用javascript代码阻止了href属性的默认跳转链接行为。a标签点击后会执行onclick中设定函数go()。
4.当href属性赋值使用javascript语句,并设置onclick点击事件时:
<a href='javascript:return false' onclick="go()"></a>
此方法与上一种方法实现效果类似,一样是href属性中执行js代码,使用return false告诉浏览器要阻止href属性的默认行为,如跳转链接,刷新页面,回到顶部等,此方法依然可执行go()函数。
5.当href属性不进行赋值,并设置onclick点击事件时:
<a href onclick="go()"></a>
点击a标签,会触发点击绑定事件,执行函数go()的相关操作,但同时也会由于href的设置进行页面的刷新,当执行绑定事件的操作函数,在完成之前或者执行过程中进行了页面刷新,对应的页面结果也会被重新刷新,并且回到页面顶部。
链接:https://www.jianshu.com/p/8a2bd9792eec。