The a tag is mainly used to implement page jumps, which can be achieved through the href attribute or in the onclick event.
<a onclick="window.location.href='www.cnblogs.com'" href="javascript:void(0);">博客园</a>
Blog Garden
This code is fine in mainstream browsers, but there will be a problem that it cannot jump under IE6. What is the reason for this?
javascript:void(0);
void(arg); can be understood as a function that always returns null, but its parameters cannot be empty. Its parameters can be any expression or even function.
<a href="javascript:void(name = '博客园'); alert(name);">测试</a>
Test
IE6 first runs the events bound to the DOM itself, such as onclick; if bubbling is not blocked, the href attributes will be executed sequentially. And void(0); does not need to execute any events, so IE6 tells the browser not to execute any events (overwriting previous actions), and terminating bubbling is equivalent to return false; so the browser does not execute any actions. So just stop the bubbling event within the onclick event.
<a onclick="window.location.href='http://www.cnblogs.com';return false;" href="javascript:void(0);">博客园</a>
Blog Garden
This way it can run normally under IE6.
Another way is not to use javascript:void(0); but to use # instead. This can also be avoided. The # in the href attribute originally means the anchor point #name, so when no anchor point is specified will go to the top of the page. # has a specific meaning, and the default is #top. If there is content after #, it will be considered a tag and the corresponding tag will be jumped to there if found on the page. If it cannot be found, it will jump to the top of the page. If you do not want to jump, , you can use ###, ### is a meaningless label specification.