Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2722 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Recuperation de liste html avec du javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recuperation de liste html avec du javascript

n°1925285
Tangrim
Des bisous et des nounours !
Posté le 19-09-2009 à 22:21:17  profilanswer
 

Bonjour, bon j'ai un truc tout bête à faire mais je bute dessus depuis ce matin [:haribo71]
 
J'ai une page html avec une liste:

Code :
  1. <ul>
  2. <li>be with you !</li>
  3. <li>Yoda a dit:</li>
  4. <li>May the Force</li>
  5. </ul>


 
Et donc je souhaite recuperer mes 3 <li>...</li> dans une variable pour jouer avec les trier, ce genre de chose.
 
j'ai donc écrit:

Code :
  1. function recup()
  2. {
  3. var myUL = document.getElementsByTagName("UL" )[0];
  4. alert(myUL.nodeName); //la ça m'affiche UL, parfait
  5. alert(myUL.childNodes.nodeValue); //la j'ai du undefined, pas bon
  6. }
  7. window.addEventListener('load',recup,false); //ça c'est pour attendre que la page soit chargée avant d'exécuter le script


J'utilise les alert pour voir ou j'en suis.
 
Bon j'ai essayé tout un tas de truc et ça ne marche toujours pas.
Si vous savez ce qui cloche...
Et aussi, pour quand ça marchera, vous auriez une idée de comment mettre chaque <li> dans une variable différente ?
J'ai cherché une fonction qui pourrais me faire ça mais j'ai pas encore trouvé.
 
Merci pour votre aide.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
mood
Publicité
Posté le 19-09-2009 à 22:21:17  profilanswer
 

n°1925286
stealth35
Posté le 19-09-2009 à 22:56:19  profilanswer
 


function recup()
{
    var myUL = document.getElementsByTagName("UL" )[0];
    var li = muUL.getElementsByTagName("LI" )
    for(var i in li)
    {
        alert(li[i].innerHTML);
    }
}

Message cité 1 fois
Message édité par stealth35 le 19-09-2009 à 22:56:51
n°1925287
Tangrim
Des bisous et des nounours !
Posté le 19-09-2009 à 23:02:23  profilanswer
 

stealth35 a écrit :


function recup()
{
    var myUL = document.getElementsByTagName("UL" )[0];
    var li = muUL.getElementsByTagName("LI" )
    for(var i in li)
    {
        alert(li[i].innerHTML);
    }
}



Ça marche, bon je vais bosser le reste et essayer de comprendre ce que tu m'as donné, merci.

 

Est il possible de récupérer pas seulement le contenu des <li>, mais avec la balise <li> dedans ?
J'ai essayé en mettant un <div> qui englobe tout, mais je reçoit les 3 li dans la même variable, j'arrive pas à les séparer.

Message cité 2 fois
Message édité par Tangrim le 19-09-2009 à 23:17:24

---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
n°1925443
abais
Posté le 21-09-2009 à 07:47:26  profilanswer
 

Tangrim a écrit :

Ça marche, bon je vais bosser le reste et essayer de comprendre ce que tu m'as donné


Code :
  1. var myUL = document.getElementsByTagName("UL" )[0]; // on "demande" la 1ere balise <ul> de notre page (de notre DOM plutôt)
  2.     var li = muUL.getElementsByTagName("LI" ); // la on demande toute les <li> que contient l'<ul> précédemment chopé. on obtient donc une liste vu qu'il y a plusieurs <li>
  3.     for(var i in li) // On fait une boucle, càd un code qui se répète autant de fois que demandé... ici, "autant de fois qu'il y a d'éléments dans la liste"... i fait aussi office de compteur, il démarre à 0
  4.     {
  5.         alert(li[i].innerHTML); // Alerte dans une boite de dialogue le contenu HTML de l'élément de notre liste à l'emplacement i
  6.     }


Tangrim a écrit :

Est il possible de récupérer pas seulement le contenu des <li>, mais avec la balise <li> dedans ?


Essaye :

Code :
  1. function recup()
  2. {
  3.     var myUL = document.getElementsByTagName("UL" )[0];
  4.     var contenuUL = muUL.innerHTML;
  5. }


innerHTML te retourne le contenu HTML de l'objet visé... soit ce qu'il y a entre <ul> et </ul>... mais c'est pas forcément + exploitable, ça dépend ce que t'en fait après.
 
Sinon, si ton premier code ne marchait pas, c'est sans doute que le DOM n'est pas aussi "simple", Gecko ajoute des nœuds de type #text entre les balises...
Si c'est ça, ton code devrait marcher sous IE en théorie...


Message édité par abais le 21-09-2009 à 07:57:22

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1925524
pataluc
Posté le 21-09-2009 à 13:46:50  profilanswer
 

Tangrim a écrit :

Est il possible de récupérer pas seulement le contenu des <li>, mais avec la balise <li> dedans ?
J'ai essayé en mettant un <div> qui englobe tout, mais je reçoit les 3 li dans la même variable, j'arrive pas à les séparer.


théoriquement, ya outerHTML, mais visiblement les navigateurs ne l'implémentent pas... c'est un peu dommage. la meilleure manière reste sans doute de les rajouter toi même.

n°1925732
Tangrim
Des bisous et des nounours !
Posté le 22-09-2009 à 10:28:24  profilanswer
 

Ça marche enfin :)
 
Pour les <li> je les ai finalement recréé en js, c'est plus simple que de les chopper dans le html.
Merci d'avoir pris du temps pour m'éclairer.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Recuperation de liste html avec du javascript

 

Sujets relatifs
Appeler un script CGI ou pas depuis code HTML"Streaming" en javascript. Voir les jolis Poissons !
Image défilante en JavaScript + PHP avec largeur et hauteur dynamiqueProblème affichage Safari (HTML/CSS)
[Javascript] Utilisation de balises BB dans un textareaProblème navigation sur un hébérgeur de site web html
Problème affichage html[PHP, JavaScript] Copier la valeur d'un input
lien html de base de donnée vers pièce jointeJavascript/Ajax vers un autre domaine
Plus de sujets relatifs à : Recuperation de liste html avec du javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR