簡體   English   中英

使用 DOM JavaScript 將一個 Div 添加到另一個 Div

[英]Adding a Div into another Div with DOM JavaScript

我正在嘗試使用 CSS 和 JavaScript 創建一個 netflix 類型效果,其中使用 flexbox 將內容顯示在輪播上,並嘗試使用 JavaScript 將 flex 項添加到容器中,就像使用 API 獲取數據一樣,所以永遠不知道會有多少元素只是它與 JavaScript 一起工作。

const container = document.getElementById("container");
var newDiv = document.createElement("div");
newDiv.className = "item";
var arr = ["1","1","1"];

const map = arr.map(x => {return `<div>${x}</div>`});
console.log(map)
map.forEach(function(element){
    newDiv.innerHTML = element;
    container.append(newDiv)
});

容器具有類容器,額外的 div 具有類項

這是HTML:

<body>
    <!--Title for the Page-->
    <h1 id="title">Will and Amys Movie App</h1>

    <!--Grid Layout-->
    <div id="container">
        <div class="item"></div>
    </div>
</body>
Uncaught TypeError: container is null
    <anonymous> file:///D:/Github/MovieSummerProject22/script.js:8
    <anonymous> file:///D:/Github/MovieSummerProject22/script.js:4
script.js:8:5
    <anonymous> file:///D:/Github/MovieSummerProject22/script.js:8
    map self-hosted:180
    <anonymous> file:///D:/Github/MovieSummerProject22/script.js:4

改變你的newDiv.innerHTML = element; newDiv.innerHTML += element;

這也可以改進一點,你可以只使用map ,不需要循環兩次

請注意,您正在創建一個額外的div ,這是您不想要的。

 const container = document.getElementById("container"); const arr = ["1", "1", "1"]; arr.map(x => { const newDiv = document.createElement("div"); newDiv.className = "item"; newDiv.innerHTML += x; container.append(newDiv) });
 <div id="container"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM