2010-04-21 5 views
3

Je copie une plage de la page et la colle ailleurs, mais cela devient problématique quand elle inclut une partie de la page que je ne veux pas copier. Existe-t-il un bon moyen de supprimer des nœuds d'une plage par identifiant? Ou sinon, dans le cas où il y a deux noeuds sur la page avec le même identifiant, est-il un moyen d'identifier un sur l'autre (par exemple, par l'intermédiaire spécifiant tout d'abord un identifiant unique parent?)Comment trouver un noeud dans une plage, puis le supprimer?

Note: JavaScript seulement S'il vous plaît - Je ne peux pas utiliser une bibliothèque pour cette solution.

+0

Est-ce copier-coller d'une sélection d'utilisateur? Et parlez-vous de DOM Ranges ici? –

Répondre

2

Si vous parlez des plages DOM, la solution consiste à diviser la plage autour du noeud que vous souhaitez exclure, ce qui vous donne deux plages.

// Assuming you have a Range stored in a variable called range and 
// a node you want to exclude in a variable called node 
var newRange = range.cloneRange(); 
range.setEndBefore(node); 
newRange.setStartAfter(node); 

Cela ne fonctionnera pas dans IE < = 8, qui a une tout autre manière de représenter les plages.

Questions connexes