diff --git a/src/js/02-on-this-page.js b/src/js/02-on-this-page.js index bd2060e1..08e47a32 100644 --- a/src/js/02-on-this-page.js +++ b/src/js/02-on-this-page.js @@ -12,7 +12,7 @@ var selectors = document.querySelector('.nav-container .selectors') var selectorsHeight = selectors ? selectors.getBoundingClientRect().height : 0 var headingSelector = [] - for (var l = 0; l <= levels; l++) headingSelector.push(l ? '.sect' + l + '>h' + (l + 1) + '[id]' : 'h1[id].sect0') + for (var l = 0; l <= levels; l++) headingSelector.push(l ? '.sect' + l + ':not(.discrete)>h' + (l + 1) + '[id]' : 'h1[id].sect0') var headings = find(headingSelector.join(','), article) var menu = sidebar.querySelector('.toc-menu-placeholder') @@ -29,7 +29,9 @@ var links = {} var list = headings.reduce(function (accum, heading) { var link = document.createElement('a') - link.textContent = heading.textContent + var headingClone = heading.cloneNode(true) + headingClone.querySelectorAll('div, a').forEach(function (el) { el.remove() }) + link.innerHTML = headingClone.innerHTML links[(link.href = '#' + heading.id)] = link var listItem = document.createElement('li') listItem.dataset.level = parseInt(heading.nodeName.slice(1)) - 1