我在我的项目中有多个跨度,我想把每个跨度的内容放到一个div中。
我试过了,但它只把最后一个跨度..提前感谢
const items = document.querySelectorAll("li span");
const div = document.querySelector("div");
const ul = document.querySelector("ul");
const span = document.createElement("span");
for(var i = 0; i < items.length; i++) {
const item = items[i];
const content = item.textContent;
span.textContent = content;
div.appendChild(span);
ul.remove();
}
<div>
<ul>
<li><span>One</span></li>
<li><span>Two</span></li>
<li><span>Three</span></li>
</ul>
</div>
发布于 2018-05-22 14:09:41
每次都需要创建一个新的跨度。在循环中移动const span = document.createElement("span");
const items = document.querySelectorAll("li span");
const div = document.querySelector("div");
const ul = document.querySelector("ul");
for (var i = 0; i < items.length; i++) {
const span = document.createElement("span");
const item = items[i];
const content = item.textContent;
span.textContent = content;
div.appendChild(span);
ul.remove();
}
<div>
<ul>
<li><span>One</span></li>
<li><span>Two</span></li>
<li><span>Three</span></li>
</ul>
</div>
发布于 2018-05-22 14:09:52
您只需创建一个跨度并重用它。在每次迭代中创建一个新的跨度。
const items = document.querySelectorAll("li span");
const div = document.querySelector("div");
const ul = document.querySelector("ul");
for(var i = 0; i < items.length; i++) {
const item = items[i];
const content = item.textContent;
const span = document.createElement("span");
span.textContent = content;
div.appendChild(span);
ul.remove();
}
<div>
<ul>
<li><span>One</span></li>
<li><span>Two</span></li>
<li><span>Three</span></li>
</ul>
</div>
发布于 2018-05-22 14:10:42
至少不需要在循环中使用ul.remove()
。除此之外,您还需要在循环中创建div。否则,您将覆盖它。
检查代码。结果:3div。每一个都有一个跨度在里面。
const items = document.querySelectorAll("li span");
const divContainer = document.querySelector("div");
const ul = document.querySelector("ul");
ul.remove();
for(var i = 0; i < items.length; i++) {
const item = items[i];
const content = item.textContent;
divContainer.innerHTML += content;
}
<div>
<ul>
<li><span>One</span></li>
<li><span>Two</span></li>
<li><span>Three</span></li>
</ul>
</div>
https://stackoverflow.com/questions/50469756
复制相似问题