Comment faire pour supprimer une personne de nœud de texte dans un div sans suppression de tous les d'eux?
Comment puis-je aller sur la suppression d'un individu créé dynamiquement nœud de texte?
Je suis de la génération entrée à la volée et je suis à l'aide .createTextNode à la place du texte descriptif avant les éléments. J'ai besoin de la capacité de supprimer des éléments spécifiques qui sont en cours de création et je suis à l'aide .removeChild de le faire. Cela fonctionne bien pour la suppression d'une entrée individuelle, parce que j'ai quelque chose de référence (id/nom). Est-il un moyen de définir une sorte de référence à chaque nœud de texte afin que je puisse le supprimer avec ses correspondants de contrôle d'entrée?
var box = document.getElementById("myDiv");
box.appendChild(document.createTextNode('Status: '));
var inp = document.createElement('input');
inp.type = 'text';
//add attributes, etc...
box.appendChild(inp);
OriginalL'auteur Jaden | 2009-12-21
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas envelopper à la fois dans un fieldset pour commencer?
De cette façon, juste en retrait de l'élément de champ supprimera votre textnode et de vos commentaires en même temps.
Merci pour cela, mais j'ai une question. Comment puis-je pass 'champ' à une fonction afin que je puisse supprimer le fieldset? Je suis entrain de créer un bouton qui appelle une fonction qui lorsqu'il est cliqué supprime le champ. Mais ce bouton est en cours de création dans le champ lui-même et lorsque je passe le terrain, le champ est null.
OriginalL'auteur Steve H
Ne pas enlever les nœuds de texte qui font partie d'une liste de textnodes dans les DOM. Même si vous faites référence (avant de vous annexé à la DOM).
Le navigateur peut fusionner plusieurs nœuds de texte! Je ne suis pas sûr de ce que les normes de l'état, mais il est possible - au moins une certaine expérience m'a dit.. (peut-être vieux navigateurs, mais c'était le cas).
Au lieu de cela, vous pouvez soit envelopper chaque nœud de texte dans un span ou div tag, ou vous pouvez utiliser une sorte de texte de remplacement. Je préfère l'ancien.
OriginalL'auteur Frunsi
Garder de référence:
et puis retirez-le avec:
Si le nœud est censé être immédiatement avant l'entrée, cela fonctionne ainsi:
Cela devrait fonctionner si vous n'utilisez pas
innerHTML
ounormalize()
, ce qui pourrait provoquer des nœuds à être re-créé ou d'une fusion, d'invalider vos références.Dans le cas où vous souhaitiez supprimer l'arbitraire du texte à partir d'un nœud, il y a
textnode.splitText(offset)
.OriginalL'auteur Kornel
Si vous modifiez cette ligne:
:
Alors vous pouvez vous référer à la textNode var plus tard pour le supprimer. Attention, certains navigateurs fusionner les nœuds de texte adjacents.
OriginalL'auteur Annie
OriginalL'auteur davidcl