MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 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 { | ||
// Пропускаем элементы, которые не соответствуют критериям | // Пропускаем элементы, которые не соответствуют критериям | ||