img)
let nom = "Pr. Tournesol";nom possède la propriété length :console.log(nom.length)); (affiche 13)nom possède (entre autres) une méthode toUpperCase() : console.log(nom.toUpperCase()); (affiche PR. TOURNESOL)String Array Date Number... Document : l'arbre du document qui a été parséNode : les nœuds, qui peuvent être de différents types :
Element : nœuds élémentsCharacterData : nœuds de texteVoir la référence sur MDN
documentdocument.documentElementdocument.bodydocument.getElementById("toto")document.querySelectorAll("div p")NodeNode :
e.hasChildNodes()n.childNodesn.childNodes.lengthn.firstChildn.lastChildn.parentNoden.nextSiblingn.previousSiblingElementElement permettent de
le faire simplement :
e.textContente.childrene.childElementCount
plus efficace que e.children.lengthe.firstElementChild et e.lastElementChild e.nextElementSibling et e.previousElementSiblinge.getAttribute(nomAttribut)e.setAttribute(nomAttribut, nouvelleValeur)document.getElementById("toto")document.querySelector("#tutu div.erreur") : renvoie
le premier de tous les éléments correspondant au sélecteur CSS donnédocument.querySelectorAll("#tutu div.erreur") : renvoie
la liste statique de tous les éléments correspondant au sélecteur CSS donnégetElementsByTagName() et getElementsByClassName().document.querySelectorAll()
textContent : modifier le contenu d'un élémenttextContent de l'élément :elet para = document.querySelector("p");
para.textContent = "Le nouveau texte";
innerHTMLinnerHTML fonctionne de la même façon que textContent,
mais en « gardant les éléments HTML »createElement() du documentlet newP = document.createElement("p");
cloneNode de Element :let newP = unAutreP.cloneNode()id dupliquéscloneNode de Element avec l'argument true :let newP = unAutreP.cloneNode(truecreateTextNode() du documentlet texte = document.createTextNode("Le texte du nœud");noeudParent.appendChild(noeudEnfant) : attache noeudEnfant en dernier fils de noeudParentnoeudParent.insertBefore(noeudEnfant, reference) : attache noeudEnfant comme fils de noeudParent
avant le nœud referencenoeud.insertAdjacentElement(position, element) ajoute le nœud element dans l'arbre en fonction de la position spécifiéeposition peut être beforebegin, afterbegin, beforeend ou afterendfils1, fils2, ... peuvent être des objets élément ou des chaines de caractères. Si filsN est une chaine de caractère, un nœud de texte est automatiquement créé pour l'ajouter à l'arbre.
noeudParent.append(fils1, fils2, fils3, ...) : attache chacun des filsN en derniers filsnoeudParent.prepend(fils1, fils2, fils3, ...) : attache chacun des filsN en premiers filsnoeud.before(fils, fils2, fils3, ...) : attache chacun des filsN
en frères précédents du noeudnoeud.after(fils1, fils2, fils3, ...) : attache chacun des filsN
en frères suivants du noeudnoeudParent.removeChild(filsASupprimer) : enlève filsASupprimer (et tout son sous-arbre) des fils de noeudParentfilsASupprimer peut-être un nœud élément ou un nœud de texte
element.remove() supprime element lui-même (et
tout son sous-arbre)noeudParent.replaceChild(ancienFils, nouveauFils) remplace ancienFils par nouveauFils (avec leurs sous-arbres éventuels)
element.replaceWith(fils1, fils2, ...) remplace element lui-même
par les noeuds fils1, fils2, ...filsN est une chaine de caractère, un nœud de texte est automatiquement créé pour l'ajouter à l'arbre
textContent :element.textContent = '';while (element.firstChild) {
element.removeChild(element.firstChild);
}style de chaque élément :
let unElement = document.getElementById("toto")
unElement.style.color="green";
unElement.style.backgroundColor="blue";
unElement.style.display="none";
style="color: green; background-color: blue; display: none;".style correspondent uniquement au contenu de l'attribut HTML style="…"getComputedStyle(element)classList
des éléments :
let toto = document.getElementById("toto");
toto.classList.add("tutu");
toto.classList.remove("titi");
if (toto.classList.contains("foobar")) {
toto.classList.toggle("erreur");
}