Comment ajouter une classe pour la div
?
var new_row = document.createElement('div');
new_row.className = "aClassName";
Voici plus d'informations sur MDN: className
Voici le code source de travail utilisant l'approche de la fonction.
<html>
<head>
<style>
.news{padding:10px; margin-top:2px;background-color:red;color:#fff;}
</style>
</head>
<body>
<div id="dd"></div>
<script>
(function(){
var countup = this;
var newNode = document.createElement('div');
newNode.className = 'textNode news content';
newNode.innerHTML = 'this created div contains class while created!!!';
document.getElementById('dd').appendChild(newNode);
})();
</script>
</body>
</html>
Utilisez la méthode .classList.add()
:
const element = document.querySelector('div.foo');
element.classList.add('bar');
console.log(element.className);
<div class="foo"></div>
Cette méthode est préférable au remplacement de la propriété className
car elle ne supprime pas les autres classes et n'ajoute pas la classe si l'élément en dispose déjà.
Vous pouvez également basculer ou supprimer des classes à l'aide de element.classList
(voir Documents MDN ).
Il y a aussi la manière de faire cela en JavaScript dans le DOM:
// Create a div and set class
var new_row = document.createElement("div");
new_row.setAttribute("class", "aClassName" );
// Add some text
new_row.appendChild( document.createTextNode("Some text") );
// Add it to the document body
document.body.appendChild( new_row );
var newItem = document.createElement('div');
newItem.style = ('background-color:red');
newItem.className = ('new_class');
newItem.innerHTML = ('<img src="./profitly_files/TimCover1_bigger.jpg" width=50 height=50> some long text with ticker $DDSSD');
var list = document.getElementById('x-auto-1');
list.insertBefore(newItem, list.childNodes[0]);
Si vous voulez créer un nouveau champ de saisie avec par exemple file
type
// Create new Input with type file and id='file-input'
var newFileInput = document.createElement('input');
// New input file will have type file
newFileInput.type = "file";
// New input file will have class="w-95 mb-1" (width - 95%, margin-bottom: .25rem)
newFileInput.className = "w-95 mb-1"
La sortie sera: <input type="file" class="w-95 mb-1">
Si vous souhaitez créer une balise imbriquée à l'aide de javascript, la méthode la plus simple consiste à utiliser innerHtml
var tag = document.createElement("li");
tag.innerHTML = '<span class="toggle">Jan</span>';
La sortie sera:
<li>
<span class="toggle">Jan</span>
</li>
Vaut également le coup d'oeil
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}