Вопрос по href, each, jquery, attr – Как заменить attr href элемента каждым? // полоса URL

8

я пытаюсь изменить href с каждым методом,

здесь демонстрация, проверьте, вы увидите, что никаких изменений нет

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
});​
Вы не можете заменить эту цепочку на такую; просто получите href как переменную с attr в качестве получателя, выполните замену, а затем снова выкачайте его обратно с attr в качестве установщика. (или как elclanrs, я полагаю, вы можете просто сделать сеттер все в одном!). Greg Pettit

Ваш Ответ

3   ответа
6
var href = $(this).attr('href');
$(this).attr('href', href.replace('#/',''));
15

string тогда правильноreplace значения, но он сразу же отбрасывает результат. Вам нужно передать замененное значение вattr, Попробуйте следующее

$('a').each(function() {
  var value = $(this).attr('href');
  $(this).attr('href', value.replace('#/',''));
});​
получил, что-то еще блокировало это, приятель! Barlas Apaydin
интересно, это не работает в мой плагин /: ill попробую еще раз Barlas Apaydin
2

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

Похожие вопросы