我正在處理一個小小的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