如何在href属性之前添加文本?
示例:
<a href="/page/subpage">Link!</a>
要:
<a href="http://www.example.com/page/subpage">Link!</a>
我试过这个,这是行不通的:
$('http://www.example.com').insertBefore('a[href=]');
答案 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;
});