Je veux créer de nouveaux divs pendant le chargement de la page. Ces divs apparaîtront comme un groupe ordonné qui changera en fonction des données externes d'un fichier JSON. Je devrai le faire avec une boucle for car il faut plus de 100 divs.
Donc, je dois pouvoir changer chaque div créé en ce qui concerne la hauteur, la largeur, en haut/à gauche et ainsi de suite. Pourtant, document.getElementById("created_div").style.whatever
ne fait rien, je ne peux même pas voir un seul nouveau div apparaître. J'ai réglé les nouveaux divs height/width à 500px, l'arrière-plan à "rouge", etc., mais aucun nouveau div ne s'affiche définitivement.
Qu'est-ce que je fais mal?
var div = document.createElement('div');
document.body.appendChild(div);
div.style.left = '32px';
div.style.top = '-16px';
div.className = 'ui-modal';
div.id = 'test';
div.innerHTML = '<span class="msg">Hello world.</span>';
div.textContent = 'Hello world.';
div.parentNode.removeChild(div);
div = document.getElementById('test');
array = document.getElementsByTagName('div');
array = document.getElementsByClassName('ui-modal');
div = document.querySelector('div #test .ui-modal');
array = document.querySelectorAll('div');
Cela couvre les bases de la manipulation DOM. N'oubliez pas que l'ajout d'éléments au corps ou à un nœud contenu dans un corps est requis pour que le nœud nouvellement créé soit visible dans le document.
Avez-vous essayé JQuery ? Le javascript de vanille peut être dur. Essayez d'utiliser ceci:
$('.container-element').add('<div>Insert Div Content</div>');
.container-element
est un sélecteur JQuery qui marque l'élément avec la classe "container-element" (probablement l'élément parent dans lequel vous souhaitez insérer vos divs). Ensuite, la fonction add()
insère le code HTML dans l'élément conteneur.