第一种是不是该是javascript:test(this);
第二种缺少href,W3C验证通不过
个人觉得没有什么实际的区别,同样是调用了一个函数

解决方案 »

  1.   

    这两种写法都有问题
    标准的写法应该是这样<a href="#" onclick="test(this)">测试</a>
      

  2.   


    用href="#",点击后页面会跳到顶端。最好是这样写:
     <a href="javascript:void(0);" onclick="test(this)">测试 </a>
    写在href和写在click中其实差别不大,但是含义是不一样的,href的含义是链接为一个javascript伪协议,而onclick则是指响应dom上的一个事件。
    当然使用也是有细微的差别,例如:在onclick中,this是指当前的node,即当前的标签: <a href="javascript:void(0);" onclick="alert(this)">测试 </a>
    在href中,this是指当前的window: <a href="javascript:alert(this);">测试 </a>
      

  3.   

    考虑到搜索引擎优化的话,应该在href里写一个伪地址,表达你的目标页到底是什么,然后在onclick里面写事件
    为了避免点击之后真的跳到那个地址,应该写成onclick="alert(this); return false;"
      

  4.   

    onclick 中的脚本会比 href 中的先执行
    <a href="javascript:alert(2);void(0);" onclick="alert(1);">XXX</a>如果 onclick 中 return false
    href 中的就不执行了
    <a href="javascript:alert(2);void(0);" onclick="alert(1); return false;">XXX</a>