How to replace element's attr href with each ? // strip url
29,899
Solution 1
The code you posted will get the value as a string
then properly replace
the values but it immediately discards the result. You need to pass in the replaced value to attr
. Try the following
$('a').each(function() {
var value = $(this).attr('href');
$(this).attr('href', value.replace('#/',''));
});
Solution 2
var href = $(this).attr('href');
$(this).attr('href', href.replace('#/',''));
Solution 3
You can also check href value and make condition
<script type="text/javascript">
$('a').each(function() {
var value = $(this).attr('href');
if(value=='http://google.com')
{
$(this).attr('href', 'http://youtube.com');
}
});
</script>
![Barlas Apaydin](https://i.stack.imgur.com/NrMcA.png?s=256&g=1)
Comments
-
Barlas Apaydin almost 4 years
im trying to change href with each method,
here is demo, inspect a, you'll see there is no change
html:
<a href="#/news">News</a> <a href="#/news/detail">Detail</a> <a href="#/sport">Sport</a> <a href="#/sport/football">Football</a>
jQuery:
$('a').each(function() { $(this).attr('href').replace('#/',''); //tried to erase #/ from all hrefs });