Ajouter du texte avant ou après un élément HTML
Si j'ai un élément HTML comme <div>
avec un peu de texte à l'intérieur ou à l'autre des éléments puis-je ajouter avant ou après cette div certaines données de texte sans un élément html, juste en texte brut?
Je voudrais utiliser qu'un pur Javascript.
Quelque chose comme :
<div id="parentDiv">
my text must be added here
<div id="childDiv"></div>
</div>
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez créer un nœud de texte avec
document.createTextNode('texte')
Puis vous pouvez l'insérer comme un élément, avec appendChild ou insertBefore.
Exemple insérer un texte avant #childDiv:
Juste pour le record:
où
div
votre enfant est-DIV.Démo Live: http://jsfiddle.net/ZkzDk/
.removeChild()
méthode (de sa mère).En ce qui concerne le sujet, et les utilisateurs de la question de l'insertion avant ou après, voici un exemple pour après:
Si le childTag n'a pas de frères et sœurs, c'est bien parce que la méthode insertBefore s'occupera de cette affaire et ajoute simplement comme le dernier enfant.
Aussi peut éventuellement utiliser la méthode appendChild() après la création d'un nœud de texte puis d'ajouter votre childTag via le parentNode.
Vous pouvez ajouter un nœud de texte. Créer nœud -
document.createTextNode('text')
puis insérer/ajouter/remplacer - faire ce que vous voulez.Quelque chose comme ça devrait le faire:
Si vous avez juste besoin de texte, je trouve que élément
.insertAdjacentText(position, texte)
est flexible pour de nombreux scénarios et est également compatible avec les anciens navigateurs comme IE6. Oùposition
est exactement là où vous voulez que le texte soit ettext
est le nœud de texte ou tout simplement une chaîne de caractères. Les options sont:'beforebegin'
Avant de l'élément lui-même.'afterbegin'
Juste à l'intérieur de l'élément, avant son premier enfant.'beforeend'
Juste à l'intérieur de l'élément, après son dernier enfant.'afterend'
Après l'élément lui-même.Comme ceci: