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
document
document.documentElement
document.body
document.getElementById("toto")
document.querySelectorAll("div p")
Node
Node
:
e.hasChildNodes()
n.childNodes
n.childNodes.length
n.firstChild
n.lastChild
n.parentNode
n.nextSibling
n.previousSibling
Element
Element
permettent de
le faire simplement :
e.textContent
e.children
e.childElementCount
plus efficace que e.children.lengthe.firstElementChild
et e.lastElementChild
e.nextElementSibling
et e.previousElementSibling
e.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 :e
let para = document.querySelector("p");
para.textContent = "Le nouveau texte";
innerHTML
innerHTML
fonctionne de la même façon que textContent
,
mais en « gardant les éléments HTML »createElement()
du document
let newP = document.createElement("p");
cloneNode
de Element
:let newP = unAutreP.cloneNode()
id
dupliquéscloneNode
de Element
avec l'argument true
:let newP = unAutreP.cloneNode(true
createTextNode()
du document
let texte = document.createTextNote("Le texte du nœud");
noeudParent.appendChild(noeudEnfant)
: attache noeudEnfant
en dernier fils de noeudParent
noeudParent.insertBefore(noeudEnfant, reference)
: attache noeudEnfant
comme fils de noeudParent
avant le nœud reference
noeud.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 afterend
fils1, 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 noeud
noeud.after(fils1, fils2, fils3, ...)
: attache chacun des filsN
en frères suivants du noeud
noeudParent.removeChild(filsASupprimer)
: enlève filsASupprimer
(et tout son sous-arbre) des fils de noeudParent
filsASupprimer
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");
}