例如,通过添加http://mysite.com?url= infront来替换div元素中的所有href。如果html是......
<div class="post-body">
<a href="http://www.google.com">google</a>
<a href="http://www.youtube.com">youtube</a>
<a href="http://www.facebook.com">facebook</a>
</div>
通过添加http://mysite.com?url= infront来替换每个href,以便html的结果将是......
<div class="post-body">
<a href="http://mysite.com?url=http://www.google.com">google</a>
<a href="http://mysite.com?url=http://www.youtube.com">youtube</a>
<a href="http://mysite.com?url=http://www.facebook.com">facebook</a>
</div>
答案 0 :(得分:6)
$('.post-body a').each(function () {
var $this = $(this),
href = $this.attr('href');
$this.attr('href', "http://mysite.com/?url=" + href);
})
答案 1 :(得分:1)
您可以直接使用.attr()
方法
$('.post-body a').attr('href', function(i, currentValue){
return 'http://mysite.com?url=' + currentValue;
});
演示
答案 2 :(得分:0)
使用jQuery的$.each
方法:http://jsfiddle.net/bFEzt/
$.each($('.post-body a'),function() {
$(this).attr('href',"http://domain.com/?url="+$(this).attr('href'));
});
答案 3 :(得分:0)
简单
$.each("a",function(index, elem){
$(elem).attr('href','http://mysite.com?url=' + $(elem).attr('href'));
});
答案 4 :(得分:0)
您可以使用replace
在一行代码中执行此操作:
$('div.post-body').html(
$('div.post-body').html().replace(/href="/g,'href="http://mysite.com?url=')
);