Javascript jQuery出站链接匿名化+;法律公告

Javascript jQuery出站链接匿名化+;法律公告,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我如何让jQuery(最好)脚本遍历每个标记并找到任何不以 http://www.example.com/ 并将src属性更改为 http://www.example.com/outbound/?verifyAge=0&dest='+encodeURIComponent(original_src) 并同时应用rel=“external”target=“\u blank” 这是一个概念的快速证明: HTML: 本质上,JavaScript所做的是找到一个元素,该元素不是以http开

我如何让jQuery(最好)脚本遍历每个
标记并找到任何不以

http://www.example.com/ 
并将src属性更改为

http://www.example.com/outbound/?verifyAge=0&dest='+encodeURIComponent(original_src) 
并同时应用
rel=“external”target=“\u blank”

这是一个概念的快速证明:

HTML:


本质上,JavaScript所做的是找到一个
元素,该元素不是以
http
开头的(您需要根据自己的需要,以及处理任何必须避开URL中的斜杠或诸如此类的问题),获取对它的引用作为jQuery对象(我不记得这个
是否已经是jQuery对象了,如果是的话,你可以省略这个部分),修改它的
href
属性并添加一个
目标
属性。

我想类似的方法会奏效

​$('a')
    .filter( function() { return $(this).attr('href').indexOf('www.example.com') !== 0; })
    .each( function(i, el) {
        var curHref = el.attr('href');
        el.attr('rel', 'external');
        el.attr('target', '_blank');            
        el.attr('href', 'http://www.example.com/outbound/verifyAge=0&dest='+encodeURIComponent(curHref));             
    }​);

​有一个插件可以对元素进行正则表达式匹配,但是使用正则表达式对我来说似乎有些过分了。

您尝试过任何方法吗?对于初学者,您的jQuery选择器应该是
'a'
。所以您可以从以下内容开始:
$('a')。每个(函数(){…})
在该函数中,您可以修改
上的属性(将有条件地修改
href
属性,添加新属性,等等)。我尝试了“a”,但似乎……效率很低……想知道是否有“更好”的方法,如
!'a[href]=http://www.example.com]“
或类似于这样的愚蠢行为,我确信它是无效的,它实际上非常接近您想要的。查找属性不等于值选择器。非常感谢,我以前使用过jQ,但还没有真正深入到将不同的东西链接在一起的整个过程中。Thanks@jmoon:当然,您会希望将其包装在
$(document).ready()
或使用
.on()
等确保选择器在元素加载到DOM之前不会遗漏元素。是的,将被包装在一个ready中。对于任何从google结果或其他内容/为了完整性而偶然发现这一点的人,
href=^=“http:\/\/www.example.com”
用于转义斜杠
$('a').not('[href^="http"]').each(function () {
    var element = $(this);
    element.attr('href', element.attr('href') + '?foo=baz');
    element.attr('target', '_blank');
});
​$('a')
    .filter( function() { return $(this).attr('href').indexOf('www.example.com') !== 0; })
    .each( function(i, el) {
        var curHref = el.attr('href');
        el.attr('rel', 'external');
        el.attr('target', '_blank');            
        el.attr('href', 'http://www.example.com/outbound/verifyAge=0&dest='+encodeURIComponent(curHref));             
    }​);