JS在容器内使用for循环创建div
JS creating divs with a for loop inside container
我正在尝试在容器内创建多个 div,但我不知道如何将创建的 div 嵌套在主容器内。在 html 之前创建容器是否也可能或更好?
JS
function createDiv(numberOfDivs) {
var i = 0;
var newElement = [];
var mainContainer = document.createElement('div');
mainContainer.innerHTML = 'MAIN CONTAINER';
mainContainer.className = 'main';
document.body.appendChild(mainContainer);
for (i; i < numberOfDivs; i++) {
newElement[i] = document.createElement('div');
newElement[i].style.backgroundColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
newElement[i].className = 'box';
newElement[i].id = (i + 1);
newElement[i].textContent = 'this is div number: ' + (i + 1);
document.body.appendChild(newElement[i]);
}
};
createDiv(10);
如果可以,您应该在不使用 javascript 的情况下创建它们。否则,您会将新元素附加到 document.body
。只需将其更改为 mainContainer
.
您也可以通过 Javascript (.appendChild
) 创建它们。如果你愿意,你可以首先在你的 HTML 中创建它们(没有 Javascript)并在必要时通过 display: none
隐藏它们,然后添加 [=12 让它们可见=].
是的,您可以按照其他人的建议提前在 html 中创建容器。然后您可以将您的 div 嵌套在该容器中。
<html><body><div id="mainContainer" ></div></body></html>
正如其他人所建议的那样,您可以应用必要的 css 以在需要时隐藏它,直到您希望它可见为止。
然后 javascript 将 div 嵌套在 mainContainer 中:
function createDiv(numberOfDivs){
var $mainContainer = $("#mainContainer");
for (i; i < numberOfDivs; i++) {
var newDiv = $("<div class='box' />");
//...you can add whatever attributes to the div that you want...
$mainContainer.append(newDiv);
}
}
感谢您的所有帮助,link 对另一个主题的帮助我只是忘了将子项附加到 mainContainer。
function createDiv(numberOfDivs) {
var i = 0;
var newElement = [];
var mainContainer = document.getElementById('main');
for (i; i < numberOfDivs; i++) {
newElement[i] = document.createElement('div');
newElement[i].style.backgroundColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
newElement[i].className = 'box';
newElement[i].id = (i + 1);
// newElement[i].textContent = 'this is div number: ' + (i + 1);
mainContainer.appendChild(newElement[i]);
}
};
createDiv(10);
我正在尝试在容器内创建多个 div,但我不知道如何将创建的 div 嵌套在主容器内。在 html 之前创建容器是否也可能或更好?
JS
function createDiv(numberOfDivs) {
var i = 0;
var newElement = [];
var mainContainer = document.createElement('div');
mainContainer.innerHTML = 'MAIN CONTAINER';
mainContainer.className = 'main';
document.body.appendChild(mainContainer);
for (i; i < numberOfDivs; i++) {
newElement[i] = document.createElement('div');
newElement[i].style.backgroundColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
newElement[i].className = 'box';
newElement[i].id = (i + 1);
newElement[i].textContent = 'this is div number: ' + (i + 1);
document.body.appendChild(newElement[i]);
}
};
createDiv(10);
如果可以,您应该在不使用 javascript 的情况下创建它们。否则,您会将新元素附加到 document.body
。只需将其更改为 mainContainer
.
您也可以通过 Javascript (.appendChild
) 创建它们。如果你愿意,你可以首先在你的 HTML 中创建它们(没有 Javascript)并在必要时通过 display: none
隐藏它们,然后添加 [=12 让它们可见=].
是的,您可以按照其他人的建议提前在 html 中创建容器。然后您可以将您的 div 嵌套在该容器中。
<html><body><div id="mainContainer" ></div></body></html>
正如其他人所建议的那样,您可以应用必要的 css 以在需要时隐藏它,直到您希望它可见为止。
然后 javascript 将 div 嵌套在 mainContainer 中:
function createDiv(numberOfDivs){
var $mainContainer = $("#mainContainer");
for (i; i < numberOfDivs; i++) {
var newDiv = $("<div class='box' />");
//...you can add whatever attributes to the div that you want...
$mainContainer.append(newDiv);
}
}
感谢您的所有帮助,link 对另一个主题的帮助我只是忘了将子项附加到 mainContainer。
function createDiv(numberOfDivs) {
var i = 0;
var newElement = [];
var mainContainer = document.getElementById('main');
for (i; i < numberOfDivs; i++) {
newElement[i] = document.createElement('div');
newElement[i].style.backgroundColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
newElement[i].className = 'box';
newElement[i].id = (i + 1);
// newElement[i].textContent = 'this is div number: ' + (i + 1);
mainContainer.appendChild(newElement[i]);
}
};
createDiv(10);