begin process at 2010 08 01 01:28:46
  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

Août 2010
LMMJVSD
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Consulter la suite du CalendriCode

 
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,546 sec (3)

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