href 属性の前にテキストを追加するにはどうすればよいですか?
例:
<a href="/page/subpage">Link!</a>
に:
<a href="http://www.example.com/page/subpage">Link!</a>
私はこれを試しましたが、うまくいきません:
$('http://www.example.com').insertBefore('a[href=]');
href 属性の前にテキストを追加するにはどうすればよいですか?
例:
<a href="/page/subpage">Link!</a>
に:
<a href="http://www.example.com/page/subpage">Link!</a>
私はこれを試しましたが、うまくいきません:
$('http://www.example.com').insertBefore('a[href=]');
コールバック関数を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 に対して相対的に解決されるように強制します。
href 属性を変更するだけです:
$('a:not([href*="//"])').attr(function(_, href){
return "http://www.example.com" + href;
});