Замените все href внутри элемента div, добавив, например, http://mysite.com? Url = infront.если 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>
, замените каждый href, добавив http://mysite.com? url = infront, чтобы результат 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>
Использование jQuery.each
$('.post-body a').each(function () { var $this = $(this), href = $this.attr('href'); $this.attr('href', "http://mysite.com/?url=" + href); })
Пример
Вы можете напрямую использовать метод .attr()
.attr()
$('.post-body a').attr('href', function(i, currentValue){ return 'http://mysite.com?url=' + currentValue; });
Демо на http://jsfiddle.net/gaby/94Bf4/
Вы можете сделать это в одной строке кода с помощью replace:
replace
$('div.post-body').html( $('div.post-body').html().replace(/href="/g,'href="http://mysite.com?url=') );
просто
$.each("a",function(index, elem){ $(elem).attr('href','http://mysite.com?url=' + $(elem).attr('href')); });
Используйте метод jQuery $.each: http://jsfiddle.net/bFEzt/
$.each
$.each($('.post-body a'),function() { $(this).attr('href',"http://domain.com/?url="+$(this).attr('href')); });