2009-11-05 54 views
1

我是新手谈到jQuery,所以这里是我的新手问题;-): 如何用新值更新现有的href onclick属性? 我想在所有现有链接上插入Google链接跟踪器。 HTML:如何更新现有的href属性?

<div> 
    <a href="http://www.example.com/files/map2.pdf" onclick="dwnlExe();">link</a> 
</div> 

我到目前为止有:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 

     var pathName = window.location.pathname 
     var n = 1; 
     $("a").each(
       function() { 
        if (($(this).attr("onclick")) == undefined) { 
         $(this).attr("onclick", "javascript: pageTracker._trackPageview('" + pathName + "-link-" + n + "');"); 
        } else { 
        var onclickValue = $("a").attr("onclick"); 
        // how to update the existing onclick="dwnlExe();" 
        // to onclick="dwnlExe(); javascript: pageTracker._trackPageview('" + pathName + "-link-" + n + "');" 
        } 
        n++; 
       } 
      ); 
    }); 
</script> 

回答

2

这将是更好地做到这样,我认为:

删除onclick事件,并使用JavaScript绑定的点击在页面加载后:

var path = window.location.pathname; 
var n = 1; 
$('a').each(function() { 
    var link = $(this); 
    link.bind('click',function() { 
    pageTracker._trackPageview(pathName + "-link-" + n); 
    }); 
    if(link.hasClass('dwn')) { 
    link.bind('click',function() { 
     dwnlExe(); 
    }); 
    } 
    n++; 
}); 

这两个点击链接,都会触发