我正在处理一个小小的jQuery脚本,将Google Analytics pageTracker onclick数据添加到我论坛上的所有相关网址,使我可以跟踪点击到外部网站。如何使用jQuery而不是选择器来选择相对URL?
我不想将onclick添加到forum.sitename或sitename上的内部链接,我不想将它们添加到标记为#或以/开头的任何hrefs。我的脚本很好地工作,但对于一个小问题!
论坛的所有网址都是相对的,不以/开头。我似乎无法改变这种情况,所以需要修改下面的jQuery,以防止像当前那样将onclick添加到链接。
我想要做的是写一个.not()函数,如.not(“[href!^ = http”),以防止jQuery将onclick添加到任何不以http开头的hrefs。但是,.not()似乎不支持这一点。
我是jQuery的新手,无法弄清楚这一点。任何指针都会被大量赞赏。
$(document).ready(function(){
// Get URL from a href
var URL = $("a").attr('href');
// Add pageTracker data for GA tracking
$("a")
.not("[href^=#]")
.not("[href^=http://forum.sitename]")
.not("[href^=http://www.sitename]")
.attr("onclick","pageTracker._trackEvent('Outgoing_Links', 'Forum', " + URL + ");")
;
});
谢谢!
谢谢,尼克。这不适合我。也许这是因为我全是双重否定的!将.not(“[href^= http]”)添加到我的脚本中会导致onclick被添加到相对URL,但不是绝对URL。 有什么想法吗? – Matt 2010-05-07 10:29:49
@Matt - 更新了这个答案,我不得不重新阅读这个问题:)这应该让你想要你想要的,更新了这个例子。 – 2010-05-07 10:33:25
杰出。谢谢,尼克!你让我很快乐。 – Matt 2010-05-07 10:36:47