-1

href 属性の前にテキストを追加するにはどうすればよいですか?

例:

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

に:

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

私はこれを試しましたが、うまくいきません:

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

2 に答える 2

3

コールバック関数をattr次のように使用できます。

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

より不可解な方法は、<base>タグを使用することです:

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

または、それを HTML に挿入します。

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

すべての相対 URL が、この URL に対して相対的に解決されるように強制します。

于 2013-05-24T16:45:32.733 に答える
2

href 属性を変更するだけです:

$('a:not([href*="//"])').attr(function(_, href){
    return "http://www.example.com" + href;
});
于 2013-05-24T16:44:34.623 に答える