Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2011, 11h37   #1
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Par défaut Remove() ne fonctionne plus après un clone()

Bonjour,

J'ai une fonction qui me permet de supprimer les éléments en fonction de leurs attributs html "rel". Je passe en argument un objet (partie d'une treeview).

Cette fonction ne pose pas de problème. J'ai le résultat attendu.
Code :
1
2
3
4
5
 
function newPf(obj){
 obj.find('li[rel="pslc"],[rel="vwlc"]').each(function(){$("#"+this.id).remove();});
//autres traitements
}
Cependant, je souhaite cloner cette objet afin de réaliser la suppréssion sur l'objet cloné et non celui passé en argument. Je fais la copie, mais dans ce cas ma fonction ne "marche plus". Aucun élément est supprimé.
Code :
1
2
3
4
5
6
 
function newPf(obj){
 var nobj = obj.clone(true);
 nobj.find('li[rel="pslc"],[rel="vwlc"]').each(function(){$("#"+this.id).remove();});
//autres traitements
}
Cela fait quelques heures que je cherche, mais je n'arrive pas à comprendre pourquoi.
Pourriez vous m'expliquer la raison et quelle solution à ce type de problème ?

Merci.
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 12h05   #2
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
Faut croire qu'il est nécessaire que je poste pour trouver la solution....
Code :
1
2
3
4
5
6
 
function newPf(obj){
 var nobj = obj.clone(true);
 nobj.find('li[rel="pslc"],[rel="vwlc"]').each(function(){$(this).remove();});
//autres traitements
}
Si quelqu'un pouvait m'expliquer pourquoi le code fonctionne si je met uniquement : $(this).remove(); alors que $("#"+this.id).remove(); ne fonctionne pas lorsque je travail sur la copie.

Merci
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 15h15   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Code :
$("#"+$(this).attr('id'))
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h31   #4
Membre confirmé
 
Avatar de SPACHFR
 
Inscription : février 2004
Messages : 502
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 502
Points : 243
Points : 243
En voyant la réponse c'est évident
Merci pour l'info
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
SPACHFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h55.


 
 
 
 
Partenaires

Hébergement Web