jQuery在href属性之前添加文本

时间:2013-05-24 16:42:52

标签: jquery hyperlink css-selectors

如何在href属性之前添加文本?​​

示例:

<a href="/page/subpage">Link!</a>

要:

<a href="http://www.example.com/page/subpage">Link!</a>

我试过这个,这是行不通的:

$('http://www.example.com').insertBefore('a[href=]');

2 个答案:

答案 0 :(得分:3)

您可以使用attr的回调函数:

$('a[href]').attr('href', function(index, href) {
    if (href.indexOf('http') === 0) {
        return href;
    } else {
        return 'http://www.example.com' + href;
    }
});

更加神秘的方式是使用<base> tag

$('<base href="http://www.example.com/">').appendTo('body');

或者只是将其放入HTML:

<base href="http://www.example.com/">

它会强制所有相对网址相对于此网址解析。

答案 1 :(得分:2)

只需更改href属性:

$('a:not([href*="//"])').attr(function(_, href){
    return "http://www.example.com" + href;
});