我正在尝试更新forEach循环内的 HTML 元素集合。因为直到第 3 节,一切似乎都在工作,但每当我尝试添加新部分时,问题就开始了,导航栏中的按钮在第 4 节及以上部分不起作用。
这是我的 HTML:
<main id="main">
<header class="main__hero">
<nav>
<ul class="flex-container">
<li>Section 1</li>
<li>Section 2</li>
<li>Section 3</li>
<li id="new-section">NEW SECTION</li>
<li id="back">BACK TO TOP</li>
</ul>
</nav>
<h1>Landing Page</h1>
</header>
<section id="section1" data-nav="Section 1" class="your-active-class">
<div class="landing__container">
<h2>Section 1</h2>
<p>
</p>
<p>
</p>
</div>
</section>
<section id="section2" data-nav="Section 2">
<div class="landing__container">
<h2>Section 2</h2>
<p>
</p>
<p>
</p>
</div>
</section>
<section id="section3" data-nav="Section 3">
<div class="landing__container">
<h2>Section 3</h2>
<p>
</p>
<p>
</p>
</div>
</section>
</main>
这是我的 JavaScript:
let allSections = document.querySelectorAll("section");
let allLists = document.querySelectorAll("li");
let n = 4;
// This function runs wherever the user press add new section button.
function duplicate(num) {
const newSection = document.createElement("section");
const newDiv = document.createElement("div");
const heading = document.createElement("h2");
const p1 = document.createElement("p");
const p2 = document.createElement("p");
newSection.appendChild(newDiv);
newDiv.appendChild(heading);
newDiv.appendChild(p1);
newDiv.appendChild(p2);
newSection.setAttribute("id", "section" + num);
newSection.setAttribute("data-nav", "Section" + " " + num);
newDiv.setAttribute("class", "landing__container");
heading.textContent = "Section" + " " + num;
p1.textContent =
"New text";
p2.textContent =
"New text";
return newSection;
}
慕标琳琳
白衣染霜花
婷婷同学_
相关分类