begin process at 2012 02 13 01:45:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Javascript et ActiveX

 > 

ActiveX

 > 

Trier une NodeList : comment faire avec internet explorer ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trier une NodeList : comment faire avec internet explorer ?

jeudi 11 septembre 2008 à 10:46:50 | Trier une NodeList : comment faire avec internet explorer ?

AlexN

Bonjour,

Je cherche à ajouter un comportement supplémentaire à NodeList pour trier directement des noeuds en fonction de leur contenus. Ca marche partout SAUF dans internet explorer. Quelqu'un saurait-t-il me dire pourquoi ?

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
       <title>Insert title here</title>
       <script type="text/javascript">
          /**
           * Comportement supplémentaire à ajouter à NodeList, ce comportement gère les tris
           * à la manière des tableaux.
           **/
           NodeList.prototype.sort=function(sortFunction){
               if(this.length<=0) return;                      
                             var parent=this.item(0).parentNode;
               var childArray=new Array();
               while(this.length>0){
                   childArray.push(this.item(0));
                   parent.removeChild(this.item(0));
               }
               childArray.sort(sortFunction);
               for(var i=0;i<childArray.length;i++){
                   parent.appendChild(childArray[i]);
               }
           }



          /**
           * Fonction qui permet de trier deux noeuds DIV en fonction du texte qu'il contiennent. Elle considère tout élément
           * qui n'est pas un élément (donc pas un DIV), comme un élément "faible".
           **/
           function triAlphabetique(elt1,elt2){
               // Si les DEUX noeuds ne sont PAS des éléments (ce sont des commentaires ou des espaces), on les considère égaux
               if(elt1.nodeType!=1&&elt2.nodeType!=1) return 0;
               // Si le premier noeud n'est PAS un élément il est considéré systématiquement comme inférieur
               if(elt1.nodeType!=1) return -1;
               // Si le second noeud n'est PAS un élément il est considéré systématiquement comme inférieur
               if(elt2.nodeType!=1) return +1;
               // On teste le texte inséré dans les éléments
               if(elt1.firstChild.nodeValue<elt2.firstChild.nodeValue) return -1;
               if(elt2.firstChild.nodeValue<elt1.firstChild.nodeValue) return +1;
               // Si il n'y a pas de différence c'est donc égal
               return 0;
           }


          /**
           * Fonction lancée au chargement de la page.
           **/
           function init(){
               var div=document.getElementById("div");
               div.childNodes.sort(triAlphabetique);
           }
       </script>
   </head>
   <body onload="init();">
       <div id="div">
           <div>A</div>
           <div>C</div>
           <div>E</div>
           <div>H</div>
           <div>J</div>
           <div>O</div>
           <div>D</div>
           <div>I</div>
           <div>N</div>
           <div>G</div>
           <div>M</div>
           <div>F</div>
           <div>L</div>
           <div>K</div>
           <div>B</div>
       </div>
   </body>
</html>

L'erreur sortie par le bouzin est "NodeList est indéfini" ! (J'aurai préféré "internet explorer n'est pas défini", mais bon...)
Faut-il rappeler que NodeList est une spécification DOM1 (http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-536297177) ?

Faut-il utiliser un ActiveX particulier ? Faut-il utiliser un autre objet ?

Merci pour votre aide.
jeudi 11 septembre 2008 à 17:32:07 | Re : Trier une NodeList : comment faire avec internet explorer ?

AlexN

Réponse acceptée !
Ca n'a pas l'air possible, on dirait...
Je pense que les concepteurs d'internet explorer ont bien compris un truc : "les standards c'est pas pour les chiens !!"
Je n'ai qu'un mot à dire "RESPECT !!"


Cette discussion est classée dans : élément, trier, div, nodelist, if


Répondre à ce message

Sujets en rapport avec ce message

POO , instanciation d'objet relié a un élément HTML [ par josh666 ] Bonjour a tous !Bon je me lance plus a fond dans la programmtion POO , et j'aimerais savoir s'il y a une méthode de relié une instanciation d'objet a Placement d'une div sur un textbox [ par ludovicanceaux ] Salut à tous, J'ai un problême de compatibilité entre firefox et internet explorer en fait ma fonction doit faire apparaitre une div avec une sorte d Utilisation du javascript sur des DIV [ par sebastiengoret ] Bonjour a tous,Voila je cherche un moyen de modifier le bgcolor de mon Div, mais cela ne veut pas fonctionner. Je cherche une solution mais aucune n'e Drag and Drop [ par Killion ] Bonsoir,Je suis a la recherche d'un script de drag and drop, je suis tombé sur scriptaculous et sur rico... Mon problème est le suivant: j'aimerai pou Fonciton ajax replacer contenu div : récupérer sélection. [ par astuces_jeux ] Bonjour,J'ai créer un code ajax avec plusieurs liens. Exemple : quand on clike sur lien 1 : il affiche le contenu de la page lien1.htm et quand on cli récupération de données SQL dans une infobulle [ par creaDB ] Bonjour tout le monde, voilà je débute avec l'infoBulle Javascript et je cherche à y inclure un résultat de requete php/mysql. Je m'explique, je souha onemouseover affichage div - aide [ par demnatis ] bonjour,je plante depuis quelques jours sur l'affichage d'un div  onmouseover contenu dans un area mapA L'AIDEmercivoici le codestyle CSS: .bloc       positionnement div emplacement pointeur et map area [ par demnatis ] Bonjour a tous,Les forums de javascript.com m'ont souvent fait progresser dans mes recherches et j'y ai souvent trouvé la solution corriger mes script message alert ne fonctionne pas [ par hraiwen ] salut je veux faire des controle sur un formulaire avec msg alert dan la meme page voici mon code function verif_formulaire() { if(document.form_s déplacement du cavalier echec [ par jackinfor ] Bonjour, j'aimerais faire déplacer le cavalier noir ($cn1xd et $cn1yd) sur mon jeux d'échec (sur les coordonnées ou il peut que aller(8 cases)), mais


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales