gpt4 book ai didi

jquery - 如何使用 jQuery 非选择器来选择相对 URL?

转载 作者:行者123 更新时间:2023-12-01 02:50:03 25 4
gpt4 key购买 nike

我正在编写一个小 jQuery 脚本,将 Google Analytics pageTracker onclick 数据添加到论坛上的所有相关 URL,从而允许我跟踪对外部站点的点击。

我不想将 onclick 添加到 forum.sitename 或 sitename 上的内部链接,也不想将它们添加到任何标记为 # 或以/开头的 href。我的下面的脚本运行良好,但有一个小问题!

论坛的所有 URL 都是相对的,并且不以/开头。我似乎无法改变这一点,因此需要修改下面的 jQuery 以防止它像当前那样将 onclick 添加到链接中。

我想要做的是编写一个 .not() 函数,例如 .not("[href!^=http") ,以防止 jQuery 将 onclick 添加到任何不以 http 开头的 href。然而,.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 选择器来获取 dohttp 开头,但包含“sitename.sitename”的链接。 com”:

$('a[href^=http]:not([href*="sitename.com"])')

You can play with an example here ,这使用基于字符串 :not() selector^= attribute starts-with selector您已经在使用 *= attribute contains eelector .

根据评论更新:

$(functon() {
$('a[href^=http]:not([href*="sitename.com"])').click(function() {
pageTracker._trackEvent('Outgoing_Links', 'Forum', this.href);
});
});

关于jquery - 如何使用 jQuery 非选择器来选择相对 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2787651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com