Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to replace element's attr href with each ? // strip url

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
});​
like image 751
Barlas Apaydin Avatar asked Jul 06 '12 20:07

Barlas Apaydin


2 Answers

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('#/',''));
});​
like image 61
JaredPar Avatar answered Dec 01 '22 16:12

JaredPar


var href = $(this).attr('href');
$(this).attr('href', href.replace('#/',''));
like image 40
elclanrs Avatar answered Dec 01 '22 17:12

elclanrs