当我在index.html文档中添加任何新的部分时,它将动态生成一个新的导航项


const sections = Array.from(document.getElementsByTagName("section"));
for(section of sections){
const listItem = document.createElement('li');
navList.appendChild(listItem);
}
  • 我在这里想念什么
  • 这就是任务:
  • 如果你使用所有部分的HTML集合,那么它们的标签名如下:
  • const sections = Array.from(document.getElementsByTagName("section"));
    

然后您可以迭代这个数组并生成单独的

  • 元素。
    • 这将使您的代码更加动态,因为当您在index.html文档中添加任何新的部分时,它将动态生成一个新的导航项
  • 我假设您通过动态编码来添加部分。基于此,您可以这样做:

    const generateList = () => {
    let lis = [];
    document.querySelectorAll('section').forEach(section => {
    lis.push(`<li>${section.dataset.title}</li>`);
    // change "section.dataset.title" according your dom element to grab text.
    })
    let ul = document.querySelector('ul');
    ul.innerHTML = '';
    ul.insertAdjacentHTML('afterbegin', lis.join(''));
    }
    

    最新更新