javascript - 使用JS在同一div中的其他元素之前插入元素
问题描述
我想通过在 parentDiv 中使用 JavaScript 添加 div。我已经在 index.html 文件中创建了一些 div。我希望我将创建的 div 将添加到我在同一 parentDiv 中的 html 中创建的其他 div 之前。我不想删除其他 div。我尝试使用 appendChild 但最后添加了。希望这是有道理的。
function displayBox(data) {
let html = "";
data.forEach((box) => {
const box = document.createElement("div");
box.classList.add("box");
html = `
<a
target="_blank"
href="${box.link}"
class="image fit"
><img
src="${box.img}"
alt="${box.name}"
/></a>
<div class="inner">
<h3>${box.name} (${box.country})</h3>
<a
target="_blank"
href="${box.link}"
class="button open-link fit"
>Visit</a
>
</div>
`;
box.innerHTML = html;
thumbnails.appendChild(box);
});
}
thumbnails 是我的 parentDiv,我想在其中添加名为 box 的 div
解决方案
如果你想在前面添加元素,你可以使用 prepend。
var data = [1,2,3];
var out = document.querySelector("#out");
data.forEach(function (x) {
var div = document.createElement("div");
div.textContent = x;
out.prepend(div);
});
<div id="out">
<div>Orginal</div>
</div>
如果您不想按逆序排列,您可以反向循环或更改代码以使用 before() 与父元素中的第一个元素。
var data = [1,2,3];
var out = document.querySelector("#out");
const first = out.children[0];
data.forEach(function (x) {
var div = document.createElement("div");
div.textContent = x;
first.before(div);
});
<div id="out">
<div>Orginal</div>
</div>
推荐阅读
- c# - 启动后如何最大化 UWP?
- angular - 动态添加元素到 SVG
- nlog - 我可以在 NLog 的一个目标中使用两种不同的布局吗?
- pandas - Pandas 网页抓取(美丽的汤)在带有类的标签中找到,另一个带有链接的标签。然后按照href里面的链接
- javascript - Javascript逻辑错误 - 未显示正确答案与猜测数
- mongodb - 如何计算和更新mongodb中的平均值?
- perl - 在 Perl 中从 PATH 中删除 x 天的旧报告文件
- vue.js - Vue watch 不触发数组中的元素
- google-chrome - IIS 项目 ASP.NET Core 上本地网络中的自证书 - 不安全(net::ERR_CERT_COMMON_NAME_INVALID)
- sql-server - 无法从 Visual Studio 中的 SSMS 正确打开基于 SSIS 包的作业