Цитата:
$(document).ready(function() { var ToC = '<nav role="navigation" class="table-of-contents">' + '<ul>'; var newLine, el, title, pel; $('#sendTo').on('click', function () { var insertData = $('#insertArea').val(); var div = $("<div>", {html : insertData}); $(':header', div).each(function (i,el) { el = $(el); var title = el.text(); /*el.attr('id' , title).html(title);*/ el.html('<a id="' + title + '"></a>'+title); newLine = '<li>' + '<a href="#' + title + '">' + title + '</a>' + '</li>'; ToC += newLine; }); ToC += '</ul>' + '</nav>' + div.html(); $('#pastArea').val(ToC); $('p', div).remove(); }); }); Спасибо за разъяснения. |
Stenli,
25 строка должна идти до 22! перенесите в 21 или в 11 |
Кое-что изменил, добавив FOR, чтобы добавлял к анкорам не кириллицу а некий текст с приставкой +1.
$(':header', div).each(function (i,el) { el = $(el); var title = el.text(); /*el.attr('id' , title).html(title);*/ for (var e=0; e < i+1; e++ ) { var z=e+1; el.html('<a id="' + z + '_toc' + '"></a>'+title); newLine = '<li>' + '<a href="#' + z + '_toc' + '">' + title + '</a>' + '</li>'; } ToC += newLine; }); Работает, только я не совсем уверен на счет правильности внутри цикла , где сравнивается e < i+1, что i+1 это правильно. Само как-то получилось. И можно ли в такую конструкцию вообще вкладывать FOR? |
Цитата:
|
Stenli,
$(":header", div).each(function(i, el) { el = $(el); var title = el.text(); var id = ++i + "_toc"; var a = $("<a>",{id : id, text : title}); el.html(a); ToC += "<li><a href='#"+id+"'>" + title + "</a></li>" }); |
Цитата:
А почему бесполезен, ведь он работает? Ошибка может возникнуть? |
Цитата:
|
Часовой пояс GMT +3, время: 00:46. |