如何用每个替换元素的attr href? // strip url

时间:2012-07-06 20:23:02

标签: jquery href each attr

我试图用每种方法改变href,

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
});​

3 个答案:

答案 0 :(得分:15)

您发布的代码将获得string的值,然后正确replace值,但会立即丢弃结果。您需要将替换值传递给attr。请尝试以下

$('a').each(function() {
  var value = $(this).attr('href');
  $(this).attr('href', value.replace('#/',''));
});​

答案 1 :(得分:6)

var href = $(this).attr('href');
$(this).attr('href', href.replace('#/',''));

答案 2 :(得分:2)

您还可以检查href值并创建条件

<script type="text/javascript">
$('a').each(function() {
    var value = $(this).attr('href');
    if(value=='http://google.com')
    {
        $(this).attr('href', 'http://youtube.com');
    }
});​
</script>