Manipulation des contenus
Il arrive qu'il soit nécessaire d'insérer ou de modifier le contenu d'un élément dans une page ou plus précisément dans le DOM. Heureusement, JavaScript offre plusieurs fonctions permettant d'y arriver.
Afin de démontrer les différentes options, un élément avec la classe .element
et le texte 1
sera utilisé dans l'ensemble des exemples suivants.
<div class="element">1</div>
InnerText
La fonction innerText
permet de récupérer ou de définir le contenu texte d'un élément.
Récupérer
Par exemple, pour récupérer le contenu texte de l'élément .element
, il est possible de faire:
console.log(element.innerText); // 1
Définir
Si une valeur lui est attribuée, le texte existant est remplacé.
Par exemple, dans le code ci-dessous 👇 le contenu texte 1
est remplacé par le chiffre 2
;
InnerHTML
Similaire à innerText, la fonction innerHTML
permet de récupérer ou de définir le contenu HTML d'un élément.
Récupérer
Par exemple, pour récupérer le contenu HTML de .element
, il est possible de faire:
console.log(element.innerHTML); // 1
Si une balise HTML avait été présente à l'intérieur de .element
, par exemple une balise span enrobant le chiffre 1
, la fonction retournerait plutôt <span>1</span>
.
Définir
Si contenu HTML est attribué à innerHTML
, le contenu HTML existant est remplacé par le nouveau.
Par exemple, dans le code ci-dessous 👇 le contenu texte 1
est remplacé par <em>2</em>
, ce qui nous donne le chiffre 2
en italique.
insertAdjacentText()
Contrairement à innerText, la fonction insertAdjacentText
permet d'insérer un contenu texte à une position précise dans un élément, sans effacé le contenu original.
Soit:
beforebegin
avant l'élémentafterbegin
au début de l'élémentbeforeend
à la fin de l'élémentafterend
après l'élément
beforebegin
afterbegin
insertAdjacentHTML()
Similaire à insertAdjacentText, la fonction insertAdjacentHTML
permet d'insérer un contenu HTML à une position précise dans un élément, sans effacé son contenu original.
Soit:
beforebegin
avant l'élémentafterbegin
au début de l'élémentbeforeend
à la fin de l'élémentafterend
après l'élément