|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Thomas Étudiant Inscription : avril 2011 Messages : 3 ![]() |
Bonjour,
Je suis actuellement stagiaire dans une entreprise en tant que Webmaster du site de cette entreprise crée sous SPIP. Tout d'abord, je poste ce message ici, mais je pense que la solution ne sera pas en HTML, à moins de modifier l'algorithme. S'il faut, n'hésitez pas à déplacer le sujet. Le problème que je rencontre n'est pas gênant, mais j'aimerais tout de même le corriger pour éviter d'éventuels problèmes. J'ai crée un menu de type accordéon (en jQuery) qui va servir à naviguer à travers le site. J'ai aussi crée un second menu du même type qui, lui, prend en compte seulement la rubrique sélectionnée pour la mettre en tête de menu. Cela permet donc d'obtenir un menu plus précis. Pour ce dernier menu, j'ai écris le code suivant : Code :
Code :
On peut donc remarquer que certaines balises ul sont vides : elles ne contiennent ni texte, ni enfants. J'aimerais donc implémenter un test (dans ce fichier ou dans un autre) qui me permettrait de supprimer les balises <ul> à condition qu'elles soient vides. Ayant cherché sur le net quelques solutions, j'ai trouvé des solutions en jQuery, en SPIP, en PHP, mais après avoir codé ces solutions, le problème persiste. J'espère donc que vous pourrez m'aiguiller dans la démarche de correction de ce bug ! Cordialement, Flowzy. PS : Les solutions trouvées mais que je n'arrive pas à faire marcher sont : PhP -> Expressions régulières. SPIP -> Ajouter une clause <//B_x> pour faire une condition sur la boucle. jQuery/Javascript -> $('ul:empty').remove(); |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Dans tous les cas, ton problème n'est pas au niveau HTML, puisque le HTML ne permet pas de supprimer des éléments vides.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Thomas Étudiant Inscription : avril 2011 Messages : 3 ![]() |
En effet, c'est d'ailleurs pour cela que j'ai bien précisé que si ce post n'était pas au bon endroit, il fallait le déplacer. Au pire, si aucun admin/modo ne peut le faire, je veux bien le déplacer moi-même, mais où puis-je le mettre ?
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
c'est effectivement du ressort d'un travail sur le DOM, donc on dira javascript, néanmoins il me semble plus efficace de traiter cela en amont en évitant de générer des UL vide.
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Thomas Étudiant Inscription : avril 2011 Messages : 3 ![]() |
Bonjour,
J'ai réussi à résoudre mon problème seul grâce à la syntaxe de SPIP permettant de faire une condition sur la boucle. Je n'y étais pas arrivé au départ car cette syntaxe est assez déroutante, mais le menu fonctionne parfaitement actuellement, et les ul en trop ne sont même plus générées. Je passe donc ce sujet en résolu, et je m'excuse de l'avoir posté dans HTML, je ne savais simplement pas de quel type allait être la solution (Algo, Php, SPIP, Js). Si jamais quelqu'un rencontre le même problème que moi, je peux lui expliquer comment le résoudre par MP. Cordialement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com