MediaWiki:Common.js: различия между версиями

мНет описания правки
мНет описания правки
Строка 452: Строка 452:


         // Ищем все заголовки h1 - h6 и элементы с классом .custom-heading в $contentArea
         // Ищем все заголовки h1 - h6 и элементы с классом .custom-heading в $contentArea
         var $headings = $contentArea.find('h1.mw-headline, h2.mw-headline, h3.mw-headline, h4.mw-headline, h5.mw-headline, h6.mw-headline, .custom-heading');
         var $headings = $contentArea.find('h1.mw-headline, h2.mw-headline, h3.mw-headline, h4.mw-headline, h5.mw-headline, h6.mw-headline, .custom-heading, h1 > .mw-headline, h2 > .mw-headline, h3 > .mw-headline, h4 > .mw-headline, h5 > .mw-headline, h6 > .mw-headline');
         var tocCounters = [0]; // Счётчики для уровней заголовков
         var tocCounters = [0]; // Счётчики для уровней заголовков
         var lastLevel = 1; // Уровень предыдущего заголовка
         var lastLevel = 1; // Уровень предыдущего заголовка
Строка 492: Строка 492:
                 // Если это элемент с классом .custom-heading, устанавливаем уровень 1
                 // Если это элемент с классом .custom-heading, устанавливаем уровень 1
                 level = 1;
                 level = 1;
            } else if ($heading.is('span.mw-headline')) {
                // Если это элемент <span> с классом mw-headline внутри заголовка
                var $parentHeading = $heading.closest('h1, h2, h3, h4, h5, h6');
                if ($parentHeading.length > 0) {
                    var tagName = $parentHeading.prop('tagName').toLowerCase();
                    level = parseInt(tagName.charAt(1), 10);
                } else {
                    return true; // Пропустить, если родительский заголовок не найден
                }
             } else {
             } else {
                 // Пропускаем элементы, которые не соответствуют критериям
                 // Пропускаем элементы, которые не соответствуют критериям