--- title: element.textContent slug: Web/API/Node/textContent tags: - API - DOM - Noeuds - Propriétés translation_of: Web/API/Node/textContent ---

{{APIRef("DOM")}}

La propriété Node.textContent  représente le contenu textuel d'un nœud et de ses descendants.

Syntaxe

var text = element.textContent;
element.textContent = "ceci est un simple exemple de texte";

Description

Différences avec innerText

Internet Explorer a introduit une propriété {{domxref("node.innerText")}}. L'intention est similaire mais comporte les différences suivantes :

Différences avec innerHTML

{{domxref("Element.innerHTML")}} renvoie le HTML comme son nom l'indique. Souvent, pour récupérer ou écrire du texte dans un élément, les utilisateurs utilisent innerHTML. Cependant, textContent a souvent de meilleures performances car le texte n'est pas analysé en HTML. De plus, l'utilisation de textContent peut empêcher les attaques XSS.

Exemple

// Étant donné le fragment de HTML suivant :
//   <div id="divA">Ceci est un <span>exemple de</span> texte</div>

// On obtient le contenu textuel :
var text = document.getElementById("divA").textContent;
// |text| vaut "Ceci est un exemple de texte".

// On définit le contenu textuel :
document.getElementById("divA").textContent = "Ceci est un exemple de texte";
// Le HTML pour divA est à présent <div id="divA">Ceci est un exemple de texte</div>

Polyfill pour IE8

// Source: Eli Grey @ http://eligrey.com/blog/post/textcontent-in-ie8
if (Object.defineProperty
  && Object.getOwnPropertyDescriptor
  && Object.getOwnPropertyDescriptor(Element.prototype, "textContent")
  && !Object.getOwnPropertyDescriptor(Element.prototype, "textContent").get) {
  (function() {
    var innerText = Object.getOwnPropertyDescriptor(Element.prototype, "innerText");
    Object.defineProperty(Element.prototype, "textContent",
     // Passing innerText or innerText.get directly does not work,
     // wrapper function is required.
     {
       get: function() {
         return innerText.get.call(this);
       },
       set: function(s) {
         return innerText.set.call(this, s);
       }
     }
   );
  })();
}

Compatibilité des navigateurs

{{Compat("api.Node.textContent")}}

Spécifications

Spécification Statut Commentaire
{{SpecName('DOM WHATWG','#dom-node-textcontent','Node.textContent')}} {{Spec2('DOM WHATWG')}} Pas de changement de DOM4
{{SpecName('DOM4','#dom-node-textcontent','Node.textContent')}} {{Spec2('DOM4')}}  
{{SpecName('DOM3 Core','core.html#Node3-textContent','Node.textContent')}} {{Spec2('DOM3 Core')}} Définition initiale.

Voir aussi