gpt4 book ai didi

javascript - 单击新的 div

转载 作者:行者123 更新时间:2023-12-01 04:09:37 25 4
gpt4 key购买 nike

我今天编写了这个小代码:

http://codepen.io/Poptocrack/pen/bgpEbr

document.getElementById("pays" + nb_items).onclick = function () {
var div = document.createElement('div');
div.className = 'tata';
div.setAttribute("id", "pays" + ++nb_items);
document.getElementById("country").appendChild(div);
};

我认为我遇到了 JS 问题。

当我点击 div#1 时,它会创建一个新的 div#2,我想点击 div#2 创建一个 div#3,依此类推。

实际上,只有当我单击 div#1 时才会添加新的 div。知道我做错了什么吗?谢谢!

最佳答案

您可以将事件绑定(bind)到父元素国家/地区,而不是附加到每个 div

检查此片段

var nb_items = 1;

window.onload = function() {
var colors = ["black", "orange", "yellow"]
document.querySelector('.country').addEventListener('click', function(event) {
if (event.target.nodeName === "DIV") {
var div = document.createElement('div');
div.className = 'tata';
div.setAttribute("id", "pays" + ++nb_items);
div.style.backgroundColor = colors[nb_items];
document.getElementById("country").appendChild(div);
}
})

};
html {
height: 100%;
}
body {
min-height: 100%;
margin: 0;
}
.top-bar {
background-color: blue;
min-height: 16vh;
}
.country {
display: flex;
justify-content: center;
min-height: 70vh;
width: 100%;
}
.footer {
position: absolute;
background-color: green;
height: 14vh;
width: 100%;
}
.toto {
background-color: coral;
width: 100%;
}
.tata {
width: 100%;
}
<body>
<div class="top-bar">
<!-- Local clock -->
</div>
<div id="country" class="country">
<div id="pays1" class="toto">
</div>
<!-- pays -->
</div>
<div class="footer">
</div>
</body>

希望这有帮助

关于javascript - 单击新的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41600256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com