From b0d92b7b6cf632753c4fcca2512e01cf006428df Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Wed, 3 Jun 2020 00:12:13 +0800 Subject: [PATCH] Fix invalid selector * See: https://github.com/next-theme/hexo-theme-next/issues/19 --- source/js/utils.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/js/utils.js b/source/js/utils.js index e5573d185..a84ee8248 100644 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -183,7 +183,8 @@ NexT.utils = { [...target.parentNode.children].forEach(element => { 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 => { element.classList.toggle('active', element === tActive); }); @@ -235,7 +236,7 @@ NexT.utils = { const navItems = document.querySelectorAll('.post-toc li'); const sections = [...navItems].map(element => { 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. link.addEventListener('click', event => { event.preventDefault();