Как добавить ссылкам якорь скриптом?

Ярослав Сельник разместил пост 2 недель назад

В общем появилась необходимость добавить всем ссылкам с определенным классом якорь, то есть что бы в конце каждого атрибута href приписалось что то вроде #anch

Darth Vader разместил пост 2 недель назад

Я сделал так:

Просто текстовая составляющая сайта и ссылки для навигации по участкам сайта:

<ul>
    <li
class="some-class" id="origin">
        <a
href="">Come to first</a>
    </li>
    <li
class="some-class">
        <a
href="">Come to second</a>
    </li>
</ul>

<div>
    <p
id="anchor0">
        <a
href="#origin">Come back</a>
   
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure, sunt voluptates. Amet architecto doloremque, dolores eaque nemo neque quis rerum!
   
</p>
</div>
<div>
    <p
id="anchor1">
        <a
href="#origin">Come back</a>
       
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure, sunt voluptates. Amet architecto doloremque, dolores eaque nemo neque quis rerum!
   
</p>
</div>

В стилях отступы что бы был более заметен перенос

div {
   
margin-bottom: 1000px;
   
margin-top: 1000px;
}

Сам скрипт который дописывает атрибуту href якорь если его у него не было ранее:


var i =0;
   
$('.some-class a').each(function() {
       
var $this = $(this);
        var
href = $this.attr('href');
        if
(href.indexOf('#') === -1) {
            $this.
attr('href', $this.attr('href') + '#anchor'+i);
           
i++;
       
}
    })
;



Close