现象:<li><a href="#">关于我们</a></li>
点击会使页面刷新,所以改变数据会误以为不生效; 所以要用:<li><a href="javascript:void(0)">关于我们</a></li>
<li><a href="#">关于我们</a></li>
<a> 标签的 href 属性用于指定超链接目标的 URL。点击这个超链接,页面会跳转到对应的页面,如果这个值为空,则会以本页面地址进行跳转,也就是刷新页面
其次,<a> 标签的 href 属性也可以用于锚点跳转,锚 URL - 指向页面中的锚(href="#top"),此时点击a标签,页面会定位到id为top的元素那里
最后,<a> 标签的 href 属性也可以用于路由跳转,href="#/slgl/ywgz",此时点击a标签,会改变页面路径的hash值 ==> http://10.34.0.105/slgl/#/slgl/ywgz,这个常用于现代框架的路由跳转
一般的,如果不想a标签点击有上面三个行为,js方面可以如一楼讲的阻止默认事件,通过a元素href属性本身的特性可以有下面几种:
1、不写href属性,那此时的a元素就是一个本本分分的行内元素,和span标签差不多,不会有下划线,激活样式等特性
2、href='#',意思就是给你一个空锚点,不做跳转操作,但是要注意,会改变url的hash值
3、建议使用的,href="javascript:void(0)"
复制代码