日期:2014-05-16  浏览次数:20380 次

帮忙改一下这段js


window.onload=function(){
  var a = document.getElementsByTagName("a");
  for(var i=0;i<a.length;i++) a[i].href = a[i].href.indexOf("baidu.com")!=-1?"http://127.0.0.1/go.php?url=" + a[i].href:a[i].href;
}

这段js是指定文本中url前加上字串,想让文本页面清洁一点,就是显示原有的url,点击后在改变,
这个加进去,不成功,
var url= a[i].href;
a[i].onclick=function(){
this.setAttribute("href",this,url);}
请高手帮个忙吧!!
------解决方案--------------------
引用:
引用:你的问题在于:你是先触发onclick事件,然后再去改变a的链接;

可是实际上,js触发了onclick事件后,回去执行原来的href,而你修改后的新的href

是没有执行到的,除非你再次调用onclick事件。

简单的办法,就是你在触发onclick事件之前,改变原来的href,然后再去执行onclick事件,……



就是在在悬停事件里面写,就好了。
------解决方案--------------------
window.onload=function(){
  var a = document.getElementsByTagName("a");
  for(var i=0;i<a.length;i++) a[i].onclick = function(){
    if(this.href.indexOf("baidu.com")!=-1)this.href="http://127.0.0.1/go.php?url=" + this.href;}
}


onclick事件先触发,然后再试转向,所以在onclick里面设置就行了