как программно создать якоря для заголовков моих страниц? - PullRequest
8 голосов
/ 01 марта 2011

У меня есть несколько заголовков на странице, и мне нужно заполнить поле навигации на каждой странице, которое ссылается на соответствующую привязку. "

Однако ни один из моих заголовков не привязан. У меня слишком много страниц, чтобысделать это вручную. Может кто-нибудь придумать чистое решение JQuery?

Ответы [ 2 ]

13 голосов
/ 01 марта 2011
function addAnchors(){
    //loop through all your headers
    $.each($('h1'),function(index,value){
        //append the text of your header to a list item in a div, linking to an anchor we will create on the next line
        $('#box-anchors').append('<li><a href="#anchor-'+index+'">'+$(this).html()+'</a></li>');
        //add an a tag to the header with a sequential name
        $(this).html('<a name="anchor-'+index+'">'+$(this).html()+'</a>');
    });
}
1 голос
/ 01 марта 2011

На самом деле, вы можете ссылаться на каждый тег с идентификатором. Таким образом, считывание идентификаторов h1 и / или их установка сделают это и приведут к более чистому html (в будущем не будет неожиданностей css при стилизации вашего a-тега).

...