使用js(jquery)将链接添加到链接到某个域的所有链接

Ami*_*mir 6 javascript jquery

如果我有一堆像这样的链接:

<a href="foo.com">blah</a> and this <a href="example.com">one</a> and here is another <a href="foo.com"></a>.
Run Code Online (Sandbox Code Playgroud)

如何将所有链接添加到链接到foo.com的链接?

Kob*_*obi 11

为了确保你得到http://foo.com,http://bar.foo.com/about,而不是http://bazfoo.com,试试:

$("a[href*='/foo.com'], a[href*='.foo.com']").addClass('your_class');
Run Code Online (Sandbox Code Playgroud)

这是一个使用正则表达式的更强大的解决方案,请注意,这可能更慢,但检查域是否在开始:

$("a").filter(
    function(){
        return $(this).attr('href')
                      .match(/^https?:\/\/([^/]*\.)?foo\.com(\/.*|$)/i);
    })
    .addClass('your_class');
Run Code Online (Sandbox Code Playgroud)

以下是一些测试用例:http://jsbin.com/oruhu
(您可以在这里编辑:http://jsbin.com/oruhu/edit).