Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.06.2017, 09:21
Аспирант
Отправить личное сообщение для Stenli Посмотреть профиль Найти все сообщения от Stenli
 
Регистрация: 25.06.2017
Сообщений: 36

Сообщение от рони
$('p', div).remove()
Да, так тоже пробовал. Не работает.

$(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();

            });
        });


Спасибо за разъяснения.
Ответить с цитированием
  #12 (permalink)  
Старый 27.06.2017, 09:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Stenli,
25 строка должна идти до 22! перенесите в 21 или в 11
Ответить с цитированием
  #13 (permalink)  
Старый 18.07.2017, 11:56
Аспирант
Отправить личное сообщение для Stenli Посмотреть профиль Найти все сообщения от Stenli
 
Регистрация: 25.06.2017
Сообщений: 36

Кое-что изменил, добавив 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?
Ответить с цитированием
  #14 (permalink)  
Старый 18.07.2017, 12:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Сообщение от Stenli
И можно ли в такую конструкцию вообще вкладывать FOR?
в данном случае FOR бесполезен, и лучше бы его убрать!
Ответить с цитированием
  #15 (permalink)  
Старый 18.07.2017, 12:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

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>"
});
Ответить с цитированием
  #16 (permalink)  
Старый 18.07.2017, 17:37
Аспирант
Отправить личное сообщение для Stenli Посмотреть профиль Найти все сообщения от Stenli
 
Регистрация: 25.06.2017
Сообщений: 36

Сообщение от рони Посмотреть сообщение
в данном случае FOR бесполезен, и лучше бы его убрать!
Спасибо, буду разбирать.
А почему бесполезен, ведь он работает?
Ошибка может возникнуть?
Ответить с цитированием
  #17 (permalink)  
Старый 18.07.2017, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Сообщение от Stenli
А почему бесполезен, ведь он работает?
да, но это не код, вместо того чтобы покрасить сразу в зелёный, вы красите, за каким-то, во все цвета перед зелёным.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка события click для iframe dqrest Events/DOM/Window 0 22.09.2015 10:17
кнопки тегов для textarea sones Элементы интерфейса 8 17.05.2015 18:01
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Вставка данных в textarea из модального окна (для Markitup) Roman Koff jQuery 0 26.08.2010 23:21