Fix invalid selector

* See: https://github.com/next-theme/hexo-theme-next/issues/19
This commit is contained in:
Mimi 2020-06-03 00:12:13 +08:00
parent 5f6271d4b8
commit b0d92b7b6c

View File

@ -183,7 +183,8 @@ NexT.utils = {
[...target.parentNode.children].forEach(element => { [...target.parentNode.children].forEach(element => {
element.classList.toggle('active', element === target); element.classList.toggle('active', element === target);
}); });
const tActive = document.querySelector(target.querySelector('a').getAttribute('href')); // https://stackoverflow.com/questions/20306204/using-queryselector-with-ids-that-are-numbers
const tActive = document.getElementById(target.querySelector('a').getAttribute('href').replace('#', ''));
[...tActive.parentNode.children].forEach(element => { [...tActive.parentNode.children].forEach(element => {
element.classList.toggle('active', element === tActive); element.classList.toggle('active', element === tActive);
}); });
@ -235,7 +236,7 @@ NexT.utils = {
const navItems = document.querySelectorAll('.post-toc li'); const navItems = document.querySelectorAll('.post-toc li');
const sections = [...navItems].map(element => { const sections = [...navItems].map(element => {
const link = element.querySelector('a.nav-link'); const link = element.querySelector('a.nav-link');
const target = document.querySelector(decodeURI(link.getAttribute('href'))); const target = document.getElementById(decodeURI(link.getAttribute('href')).replace('#', ''));
// TOC item animation navigate. // TOC item animation navigate.
link.addEventListener('click', event => { link.addEventListener('click', event => {
event.preventDefault(); event.preventDefault();