Dear experts, I was trying to dynamically generate DOM elements using JS.
I read from Douglas Crockford's book that DOM is very very poorly structured.
Anyways, I would like to create a number of DIVISION elements and store the reference into an array so it could be accessed later.
Here's the code
for(i=0; i<3; i++) {
var div = document.body.appendChild(document.createElement("div"));
var arr = new Array();
arr.push(div);
}
Somehow this would not work.....
There is only 1 div element created.
When I use the arr.length
to test the code there is only 1 element in the array.
Is there another way to accomplish this?
Thanks in advance
You are recreating the array with each iteration (and thus blanking it).
I think you want something like this.
var arr = []; // more succinct version of new Array();
for (var i = 0; i < 3; i++) {
var div = document.body.appendChild(document.createElement('div'));
arr.push(div);
};
You're making a separate array each time the loop runs.
Therefore, each array instance
You need to move the arr
variable outside the loop.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With