Text : méthode splitText()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode splitText() de l'interface Text divise le nœud Text en deux nœuds à l'indice défini, en gardant les deux nœuds dans l'arbre en tant que voisins.
Après la séparation, le nœud actuel contient tout le contenu jusqu'à l'indice défini, et un nœud nouvellement créé du même type contient le texte restant. Le nœud nouvellement créé est retourné à l'appelant. Si le nœud original avait un parent, le nouveau nœud est inséré en tant que voisin suivant du nœud original. Si l'indice est égal à la longueur du nœud original, le nœud nouvellement créé ne contient pas de données.
Les nœuds texte séparés peuvent être concaténés en utilisant la méthode Node.normalize().
Syntaxe
splitText(offset)
Paramètres
offset-
L'indice juste avant lequel le nœud texte doit être coupé.
Valeur de retour
Retourne le nœud Text nouvellement créé qui contient le texte après l'indice défini.
Exceptions
IndexSizeErrorDOMException-
Levée si l'indice défini est négatif ou supérieur au nombre d'unités 16 bits dans le texte du nœud.
NoModificationAllowedErrorDOMException-
Levée si le nœud est en lecture seule.
Exemples
Dans cet exemple, le texte d'un élément HTML <p> est séparé en deux nœuds texte et un élément HTML <u> est inséré entre les deux.
<p>tototata</p>
const p = document.querySelector("p");
// Récupère le contenu de <p> en tant que nœud texte
const toto = p.firstChild;
// Sépare 'tototata' en deux nœuds texte, 'toto' et 'tata',
// et stocke 'tata' dans une constante
const tata = toto.splitText(4);
// Crée un élément <u> contenant « nouveau contenu »
const u = document.createElement("u");
u.appendChild(document.createTextNode(" nouveau contenu "));
// Ajoute <u> avant 'tata'
p.insertBefore(u, tata);
// Le résultat est : <p>toto<u> nouveau contenu </u>tata</p>
Spécifications
| Specification |
|---|
| DOM> # ref-for-dom-text-splittext①> |
Compatibilité des navigateurs
Voir aussi
- L'interface
Textà laquelle cette méthode appartient. - La méthode opposée :
Node.normalize.